From fc193b6518ad8df0cc92cb50b88217430dea47e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Fri, 5 Mar 2021 23:31:15 +0100 Subject: [PATCH 0001/1003] gnu: cgal: Update to 5.2 [security fixes]. * gnu/packages/patches/cgal-security-pr-5371.patch: New patch. Downloaded from , with hunks on files matching pattern "*Convex_decomposition_3*" removed because they don't exist in cgal's released sources. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/graphics.scm (cgal): Update to 5.2. [source]: Apply patch. --- gnu/local.mk | 1 + gnu/packages/graphics.scm | 10 +- .../patches/cgal-security-pr-5371.patch | 1611 +++++++++++++++++ 3 files changed, 1618 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/cgal-security-pr-5371.patch diff --git a/gnu/local.mk b/gnu/local.mk index 25afb99618..4900dabc36 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -879,6 +879,7 @@ dist_patch_DATA = \ %D%/packages/patches/cdparanoia-fpic.patch \ %D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \ %D%/packages/patches/ceph-disable-cpu-optimizations.patch \ + %D%/packages/patches/cgal-security-pr-5371.patch \ %D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/cl-asdf-config-directories.patch \ %D%/packages/patches/clamav-config-llvm-libs.patch \ diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 7e83c7ea4e..db04b93f20 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -718,15 +718,17 @@ more.") (define-public cgal (package (name "cgal") - (version "4.14.2") + (version "5.2") (source (origin (method url-fetch) (uri (string-append - "https://github.com/CGAL/cgal/releases/download/releases/" - "CGAL-" version "/CGAL-" version ".tar.xz")) + "https://github.com/CGAL/cgal/releases/download/v" version + "/CGAL-" version ".tar.xz")) (sha256 (base32 - "08lrp3hfwdypggz4138bnkh6bjxn441zg2y9xnq5mrjfc5ini6w1")))) + "08sr2k2dm4zasfbvisqpvs6djqw3rywzwpzr701an870nvnqck3l")) + (patches (search-patches "cgal-security-pr-5371.patch")) + (patch-flags '("-p2")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no test target diff --git a/gnu/packages/patches/cgal-security-pr-5371.patch b/gnu/packages/patches/cgal-security-pr-5371.patch new file mode 100644 index 0000000000..dea53dceaf --- /dev/null +++ b/gnu/packages/patches/cgal-security-pr-5371.patch @@ -0,0 +1,1611 @@ +From 618b409b0fbcef7cb536a4134ae3a424ef5aae45 Mon Sep 17 00:00:00 2001 +From: Maxime Gimeno +Date: Mon, 18 Jan 2021 15:40:40 +0100 +Subject: [PATCH 1/8] Fix Nef_2 and Nef_S2 IO + +--- + Nef_2/include/CGAL/Nef_2/PM_io_parser.h | 74 ++++++++++++--- + Nef_2/include/CGAL/Nef_polyhedron_2.h | 2 + + Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h | 106 ++++++++++++++++------ + 3 files changed, 142 insertions(+), 40 deletions(-) + +diff --git a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h +index 85295f3d85a..9b84dd37fbe 100644 +--- a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h ++++ b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h +@@ -200,6 +200,11 @@ bool PM_io_parser::read_vertex(Vertex_handle v) + !(in >> p) || + !check_sep("}") ) return false; + ++ if(!(f >= 0 && ((iso && f < fn) || (!iso && f < en)))) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + if (iso) v->set_face(Face_of[f]); + else v->set_halfedge(Halfedge_of[f]); + mark(v) = m; point(v) = p; +@@ -229,10 +234,14 @@ bool PM_io_parser::read_hedge(Halfedge_handle e) + !(in >> f) || !check_sep(",") || + !(in >> m) || !check_sep("}") ) + return false; +- CGAL_assertion_msg +- (eo >= 0 || (std::size_t) eo < en || epr >= 0 || (std::size_t) epr < en || ene >= 0 || (std::size_t) ene < en || +- v >= 0 || (std::size_t) v < vn || f >= 0 || (std::size_t) f < fn , +- "wrong index in read_hedge"); ++ ++ if(!(eo >= 0 && (std::size_t) eo < en && epr >= 0 && (std::size_t) epr < en && ene >= 0 && (std::size_t) ene < en && ++ v >= 0 && (std::size_t) v < vn && f >= 0 && (std::size_t) f < fn )) ++ { ++ in.clear(std::ios_base::badbit); ++ std::cerr<<"wrong index in read_hedge"<opposite()]); +@@ -267,14 +276,32 @@ bool PM_io_parser::read_face(Face_handle f) + int n, ei, vi; Mark m; + if ( !(in >> n) || !check_sep("{") ) return false; + if ( !(in >> ei) || !check_sep(",") ) return false; +- if (ei >= 0) f->set_halfedge(Halfedge_of[ei]); ++ if (ei >= 0 && ei < en) ++ { ++ f->set_halfedge(Halfedge_of[ei]); ++ } ++ else ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + while (in >> ei) { + CGAL_assertion_msg(ei >= 0 && (std::size_t) ei < en, "wrong index in face cycle list."); ++ if (!(ei >= 0 && ei < en)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + f->store_fc(Halfedge_of[ei]); + } in.clear(); + if (!check_sep(",")) { return false; } + while (in >> vi) { + CGAL_assertion_msg(vi >= 0 && (std::size_t) vi < vn, "wrong index in iso vertex list."); ++ if (!(vi >= 0 && vi < vn)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + f->store_iv(Vertex_of[vi]); + } in.clear(); + if (!check_sep(",") || !(in >> m) || !check_sep("}") ) +@@ -313,13 +340,26 @@ template + void PM_io_parser::read() + { + if ( !check_sep("Plane_map_2") ) +- CGAL_error_msg("PM_io_parser::read: no embedded_PM header."); ++ { ++ std::cerr<<"PM_io_parser::read: no embedded_PM header."<> vn)) ) +- CGAL_error_msg("PM_io_parser::read: wrong node line."); ++ { ++ std::cerr<<"PM_io_parser::read: wrong node line."<> en) && (en%2==0)) ) +- CGAL_error_msg("PM_io_parser::read: wrong edge line."); ++ { ++ std::cerr<<"PM_io_parser::read: wrong edge line."<> fn)) ) +- CGAL_error_msg("PM_io_parser::read: wrong face line."); ++ { ++ std::cerr<<"PM_io_parser::read: wrong face line."<::read() + + for(i=0; i> + std::cerr << "Nef_polyhedron_2 input corrupted." << std::endl; + NP = Nef_polyhedron_2(); + } ++ if(!is) ++ return is; + typename Nef_polyhedron_2::Topological_explorer D(NP.explorer()); + D.check_integrity_and_topological_planarity(); + return is; +diff --git a/Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h b/Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h +index 7bddd3036d5..631c63dc5dc 100644 +--- a/Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h ++++ b/Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h +@@ -203,8 +203,14 @@ bool SM_io_parser::read_vertex(SVertex_handle v) + !(in >> p) || + !check_sep("}") ) return false; + +- if (iso) set_face(v,SFace_of[f]); +- else set_first_out_edge(v,Edge_of[f]); ++ if(f<0 || (iso && f > fn) || (!iso && f > en)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } ++ ++ if (iso) this->set_face(v,SFace_of[f]); ++ else this->set_first_out_edge(v,Edge_of[f]); + v->mark() = m; v->point() = p; + return true; + } +@@ -235,17 +241,21 @@ bool SM_io_parser::read_edge(SHalfedge_handle e) + !(in >> m) || !check_sep(",") || + !(in >> k) || !check_sep("}") ) + return false; +- CGAL_assertion_msg ++ if (! + (eo >= 0 && eo < en && epr >= 0 && epr < en && ene >= 0 && ene < en && +- v >= 0 && v < vn && f >= 0 && f < fn , +- "wrong index in read_edge"); ++ v >= 0 && v < vn && f >= 0 && f < fn )) ++ { ++ std::cerr<<"wrong index in read_edge"<twin()]); +- set_prev(e,Edge_of[epr]); +- set_next(e,Edge_of[ene]); +- set_source(e,SVertex_of[v]); +- set_face(e,SFace_of[f]); ++ this->set_prev(e,Edge_of[epr]); ++ this->set_next(e,Edge_of[ene]); ++ this->set_source(e,SVertex_of[v]); ++ this->set_face(e,SFace_of[f]); + e->mark() = m; + e->circle() = k; + return true; +@@ -274,7 +284,7 @@ bool SM_io_parser::read_loop(SHalfloop_handle l) + CGAL_assertion_msg( + (lo >= 0 && lo < 2 && f >= 0 && f < fn),"wrong index in read_edge"); + +- set_face(l,SFace_of[f]); ++ this->set_face(l,SFace_of[f]); + l->mark() = m; + l->circle() = k; + return true; +@@ -303,21 +313,33 @@ bool SM_io_parser::read_face(SFace_handle f) + int n, ei, vi, li; Mark m; + if ( !(in >> n) || !check_sep("{") ) return false; + while (in >> ei) { +- CGAL_assertion_msg(ei >= 0 && ei < en, +- "wrong index in face cycle list."); +- store_sm_boundary_object(Edge_of[ei],f); ++ if(!(ei >= 0 && ei < en)) ++ { ++ std::cerr<<"wrong index in face cycle list."<store_sm_boundary_object(Edge_of[ei],f); + } in.clear(); + if (!check_sep(",")) { return false; } + while (in >> vi) { +- CGAL_assertion_msg(vi >= 0 && vi < vn, +- "wrong index in iso vertex list."); +- store_sm_boundary_object(SVertex_of[vi],f); ++ if(!(vi >= 0 && vi < vn)) ++ { ++ std::cerr<<"wrong index in iso vertex list."<store_sm_boundary_object(SVertex_of[vi],f); + } in.clear(); + if (!check_sep(",")) { return false; } + while (in >> li) { +- CGAL_assertion_msg(li >= 0 && li < 2, +- "wrong index in iso vertex list."); +- store_sm_boundary_object(Loop_of[li],f); ++ if(!(li >= 0 && li < 2)) ++ { ++ std::cerr<<"wrong index in iso vertex list."<store_sm_boundary_object(Loop_of[li],f); + } in.clear(); + if (!check_sep(",") || !(in >> m) || !check_sep("}") ) + return false; +@@ -357,16 +379,36 @@ void SM_io_parser::print() const + template + void SM_io_parser::read() + { ++ if ( !check_sep("Nef_polyhedron_S2") ) ++ { ++ std::cerr<<"Missing line in header"<> vn)) ) +- CGAL_error_msg("SM_io_parser::read: wrong vertex line."); ++ { ++ std::cerr<<"SM_io_parser::read: wrong vertex line."<> en) && (en%2==0)) ) +- CGAL_error_msg("SM_io_parser::read: wrong edge line."); ++ { ++ std::cerr<<"SM_io_parser::read: wrong edge line."<> ln)) ) +- CGAL_error_msg("SM_io_parser::read: wrong loop line."); ++ { ++ std::cerr<<"SM_io_parser::read: wrong loop line."<> fn)) ) +- CGAL_error_msg("SM_io_parser::read: wrong face line."); ++ { ++ std::cerr<<"SM_io_parser::read: wrong face line."<::read() + + for(i=0; i +Date: Tue, 19 Jan 2021 12:24:08 +0100 +Subject: [PATCH 2/8] Fix Nef_3 + +--- + Nef_3/include/CGAL/Nef_3/SNC_io_parser.h | 195 ++++++++++++++++++++++- + 1 file changed, 188 insertions(+), 7 deletions(-) + +diff --git a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h +index 5eee7528ee7..04d9d0ac8e8 100644 +--- a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h ++++ b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h +@@ -1444,40 +1444,61 @@ void SNC_io_parser::read_items(int plus01) { + typename std::vector::iterator vi; + for(vi=Vertex_of.begin(); vi!=Vertex_of.end(); ++vi) { + if (!read_vertex(*vi)) +- CGAL_error_msg("SNC_io_parser::read: error in node line"); ++ { ++ std::cerr<<"SNC_io_parser::read: error in node line"<::iterator ei; + for(ei=Edge_of.begin(); ei!=Edge_of.end(); ++ei) { + if (!read_edge(*ei)) +- CGAL_error_msg("SNC_io_parser::read: error in edge line"); ++ { ++ std::cerr<<"SNC_io_parser::read: error in edge line"<::iterator vhf_iterator; + vhf_iterator fi; + for(fi=Halffacet_of.begin(); fi!=Halffacet_of.end(); ++fi) { + if (!read_facet(*fi)) +- CGAL_error_msg("SNC_io_parser::read: error in facet line"); ++ { ++ std::cerr<<"SNC_io_parser::read: error in facet line"<::iterator ci; + for(ci=Volume_of.begin()+plus01; ci!=Volume_of.end(); ++ci) { + if (!read_volume(*ci)) +- CGAL_error_msg("SNC_io_parser::read: error in volume line"); ++ { ++ std::cerr<<"SNC_io_parser::read: error in volume line"<::iterator sei; + for(sei=SEdge_of.begin(); sei!=SEdge_of.end(); ++sei) { + if (!read_sedge(*sei)) +- CGAL_error_msg("SNC_io_parser::read: error in sedge line"); ++ { ++ std::cerr<<"SNC_io_parser::read: error in sedge line"<::iterator sli; + for(sli=SLoop_of.begin(); sli!=SLoop_of.end(); ++sli) { + if (!read_sloop(*sli)) +- CGAL_error_msg("SNC_io_parser::read: error in sloop line"); ++ { ++ std::cerr<<"SNC_io_parser::read: error in sloop line"<::iterator sfi; + for(sfi=SFace_of.begin(); sfi!=SFace_of.end(); ++sfi) { + if (!read_sface(*sfi)) +- CGAL_error_msg("SNC_io_parser::read: error in sface line"); ++ { ++ std::cerr<<"SNC_io_parser::read: error in sface line"<sncp()); +@@ -1535,21 +1556,56 @@ read_vertex(Vertex_handle vh) { + vh->sncp() = this->sncp(); + + in >> index; ++ if(index >= int(en)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + vh->svertices_begin() = (index >= 0 ? Edge_of[index] : this->svertices_end()); + in >> index; ++ if(index >= int(en)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + vh->svertices_last() = index >= 0 ? Edge_of[index] : this->svertices_end(); + OK = OK && test_string(","); + in >> index; ++ if(index >= int(sen)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + vh->shalfedges_begin() = index >= 0 ? SEdge_of[index] : this->shalfedges_end(); + in >> index; ++ if(index >= int(sen)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + vh->shalfedges_last() = index >= 0 ? SEdge_of[index] : this->shalfedges_end(); + OK = OK && test_string(","); + in >> index; ++ if(index >= int(sfn)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + vh->sfaces_begin() = index >= 0 ? SFace_of[index] : this->sfaces_end(); + in >> index; ++ if(index >= int(sfn)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + vh->sfaces_last() = index >= 0 ? SFace_of[index] : this->sfaces_end(); + OK = OK && test_string(","); + in >> index; ++ if(index >= int(sln)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + vh->shalfloop() = index >= 0 ? SLoop_of[index] : this->shalfloops_end(); + OK = OK && test_string("|"); + #ifdef CGAL_NEF_NATURAL_COORDINATE_INPUT +@@ -1604,17 +1660,37 @@ read_edge(Halfedge_handle eh) { + OK = OK && test_string("{"); + + in >> index; ++ if(index < 0 || index >= int(en)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + eh->twin() = Edge_of[index]; + OK = OK && test_string(","); + in >> index; ++ if(index < 0 || index >= int(vn)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + eh->center_vertex() = Vertex_of[index]; + OK = OK && test_string(","); + in >> index; + if(index == 0) { + in >> index; ++ if(index < 0 || index >= int(sen)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + eh->out_sedge() = SEdge_of[index]; + } else { + in >> index; ++ if(index < 0 || index >= int(sfn)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + eh->incident_sface() = SFace_of[index]; + } + OK = OK && test_string("|"); +@@ -1669,6 +1745,11 @@ read_facet(Halffacet_handle fh) { + OK = OK && test_string("{"); + + in >> index; ++ if(index < 0 || index >= int(fn)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + fh->twin() = Halffacet_of[index]; + OK = OK && test_string(","); + +@@ -1676,6 +1757,11 @@ read_facet(Halffacet_handle fh) { + while(isdigit(cc)) { + in.putback(cc); + in >> index; ++ if(index < 0 || index >= int(sen)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + fh->boundary_entry_objects().push_back(make_object(SEdge_of[index])); + in >> cc; + } +@@ -1684,11 +1770,21 @@ read_facet(Halffacet_handle fh) { + while(isdigit(cc)) { + in.putback(cc); + in >> index; ++ if(index < 0 || index >= int(sln)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + fh->boundary_entry_objects().push_back(make_object(SLoop_of[index])); + in >> cc; + } + + in >> index; ++ if(index < 0 || index >= int(vn)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + fh->incident_volume() = Volume_of[index+addInfiBox]; + OK = OK && test_string("|"); + #ifdef CGAL_NEF_NATURAL_COORDINATE_INPUT +@@ -1731,6 +1827,11 @@ read_volume(Volume_handle ch) { + while(isdigit(cc)) { + in.putback(cc); + in >> index; ++ if(index < 0 || index >= int(sfn)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + ch->shell_entry_objects().push_back(make_object(SFace_of[index])); + in >> cc; + } +@@ -1781,27 +1882,67 @@ read_sedge(SHalfedge_handle seh) { + OK = OK && test_string("{"); + + in >> index; ++ if(index < 0 || index >= int(sen)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + seh->twin() = SEdge_of[index]; + OK = OK && test_string(","); + in >> index; ++ if(index < 0 || index >= int(sen)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + seh->sprev() = SEdge_of[index]; + OK = OK && test_string(","); + in >> index; ++ if(index < 0 || index >= int(sen)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + seh->snext() = SEdge_of[index]; + OK = OK && test_string(","); + in >> index; ++ if(index < 0 || index >= int(en)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + seh->source() = Edge_of[index]; + OK = OK && test_string(","); + in >> index; ++ if(index < 0 || index >= int(sfn)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + seh->incident_sface() = SFace_of[index]; + OK = OK && test_string(","); + in >> index; ++ if(index < 0 || index >= int(sen)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + seh->prev() = SEdge_of[index]; + OK = OK && test_string(","); + in >> index; ++ if(index < 0 || index >= int(sen)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + seh->next() = SEdge_of[index]; + OK = OK && test_string(","); + in >> index; ++ if(index < 0 || index >= int(fn)) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + seh->facet() = Halffacet_of[index]; + OK = OK && test_string("|"); + #ifdef CGAL_NEF_NATURAL_COORDINATE_INPUT +@@ -1852,12 +1993,27 @@ read_sloop(SHalfloop_handle slh) { + OK = OK && test_string("{"); + + in >> index; ++ if(index < 0 || index >= sln) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + slh->twin() = SLoop_of[index]; + OK = OK && test_string(","); + in >> index; ++ if(index < 0 || index >= sfn) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + slh->incident_sface() = SFace_of[index]; + OK = OK && test_string(","); + in >> index; ++ if(index < 0 || index >= fn) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + slh->facet() = Halffacet_of[index]; + OK = OK && test_string("|"); + #ifdef CGAL_NEF_NATURAL_COORDINATE_INPUT +@@ -1904,6 +2060,11 @@ read_sface(SFace_handle sfh) { + OK = OK && test_string("{"); + + in >> index; ++ if(index < 0 || index >= vn) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + sfh->center_vertex() = Vertex_of[index]; + OK = OK && test_string(","); + +@@ -1913,6 +2074,11 @@ read_sface(SFace_handle sfh) { + in >> index; + // sfh->boundary_entry_objects().push_back(SEdge_of[index]); + SM_decorator SD(&*sfh->center_vertex()); ++ if(index < 0 || index >= sen) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + SD.link_as_face_cycle(SEdge_of[index],sfh); + in >> cc; + } +@@ -1921,6 +2087,11 @@ read_sface(SFace_handle sfh) { + while(isdigit(cc)) { + in.putback(cc); + in >> index; ++ if(index < 0 || index >= en) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + sfh->boundary_entry_objects().push_back(make_object(Edge_of[index])); + this->sncp()->store_sm_boundary_item(Edge_of[index], --(sfh->sface_cycles_end())); + in >> cc; +@@ -1930,12 +2101,22 @@ read_sface(SFace_handle sfh) { + while(isdigit(cc)) { + in.putback(cc); + in >> index; ++ if(index < 0 || index >= sln) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + sfh->boundary_entry_objects().push_back(make_object(SLoop_of[index])); + this->sncp()->store_sm_boundary_item(SLoop_of[index], --(sfh->sface_cycles_end())); + in >> cc; + } + + in >> index; ++ if(index < 0 || index >= vn) ++ { ++ in.clear(std::ios_base::badbit); ++ return false; ++ } + sfh->volume() = Volume_of[index+addInfiBox]; + OK = OK && test_string("}"); + in >> sfh->mark(); + +From 9e291e6bbfe23137fb2dd3a0f8d6461229ca2376 Mon Sep 17 00:00:00 2001 +From: Maxime Gimeno +Date: Tue, 19 Jan 2021 14:04:54 +0100 +Subject: [PATCH 3/8] replace cerr by CGAL_warning_msg + +--- + Nef_2/include/CGAL/Nef_2/PM_io_parser.h | 14 +++--- + Nef_3/include/CGAL/Nef_3/SNC_io_parser.h | 53 ++++++++++++++++------- + Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h | 18 ++++---- + 3 files changed, 54 insertions(+), 31 deletions(-) + +diff --git a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h +index 9b84dd37fbe..52bc830e115 100644 +--- a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h ++++ b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h +@@ -341,23 +341,23 @@ void PM_io_parser::read() + { + if ( !check_sep("Plane_map_2") ) + { +- std::cerr<<"PM_io_parser::read: no embedded_PM header."<> vn)) ) + { +- std::cerr<<"PM_io_parser::read: wrong node line."<> en) && (en%2==0)) ) + { +- std::cerr<<"PM_io_parser::read: wrong edge line."<> fn)) ) + { +- std::cerr<<"PM_io_parser::read: wrong face line."<::read() + for(i=0; i + void SNC_io_parser::read() + { + if ( !check_sep("Selective Nef Complex") ) +- CGAL_error_msg("SNC_io_parser::read: no SNC header."); ++ { ++ CGAL_warning_msg(false, "SNC_io_parser::read: no SNC header."); ++ returnl ++ } + std::string kernel_type; + in >> kernel_type; + CGAL_assertion(kernel_type == "standard" || kernel_type == "extended"); + if ( !(check_sep("vertices") && (in >> vn)) ) +- CGAL_error_msg("SNC_io_parser::read: wrong vertex line."); ++ { ++ CGAL_warning_msg(false, "SNC_io_parser::read: wrong vertex line."); ++ return; ++ } + if ( !(check_sep("halfedges") && (in >> en) && (en%2==0)) ) +- CGAL_error_msg("SNC_io_parser::read: wrong edge line."); ++ { ++ CGAL_warning_msg(false, "SNC_io_parser::read: wrong edge line."); ++ return; ++ } + if ( !(check_sep("facets") && (in >> fn) && (fn%2==0)) ) +- CGAL_error_msg("SNC_io_parser::read: wrong facet line."); ++ { ++ CGAL_warning_msg(false, "SNC_io_parser::read: wrong facet line."); ++ } + if ( !(check_sep("volumes") && (in >> cn)) ) +- CGAL_error_msg("SNC_io_parser::read: wrong volume line."); ++ { ++ CGAL_warning_msg(false, "SNC_io_parser::read: wrong volume line."); ++ return; ++ } + if ( !(check_sep("shalfedges") && (in >> sen)) ) +- CGAL_error_msg("SNC_io_parser::read: wrong sedge line."); ++ { ++ CGAL_warning_msg(false, "SNC_io_parser::read: wrong sedge line."); ++ return; ++ } + if ( !(check_sep("shalfloops") && (in >> sln)) ) +- CGAL_error_msg("SNC_io_parser::read: wrong sloop line."); ++ { ++ CGAL_warning_msg(false, "SNC_io_parser::read: wrong sloop line."); ++ return; ++ } + if ( !(check_sep("sfaces") && (in >> sfn)) ) +- CGAL_error_msg("SNC_io_parser::read: wrong sface line."); ++ { ++ CGAL_warning_msg(false, "SNC_io_parser::read: wrong sface line."); ++ return; ++ } + + addInfiBox = (kernel_type == "standard" && Infi_box::extended_kernel()); + +@@ -1445,7 +1468,7 @@ void SNC_io_parser::read_items(int plus01) { + for(vi=Vertex_of.begin(); vi!=Vertex_of.end(); ++vi) { + if (!read_vertex(*vi)) + { +- std::cerr<<"SNC_io_parser::read: error in node line"<::read_items(int plus01) { + for(ei=Edge_of.begin(); ei!=Edge_of.end(); ++ei) { + if (!read_edge(*ei)) + { +- std::cerr<<"SNC_io_parser::read: error in edge line"<::read_items(int plus01) { + for(fi=Halffacet_of.begin(); fi!=Halffacet_of.end(); ++fi) { + if (!read_facet(*fi)) + { +- std::cerr<<"SNC_io_parser::read: error in facet line"<::read_items(int plus01) { + for(ci=Volume_of.begin()+plus01; ci!=Volume_of.end(); ++ci) { + if (!read_volume(*ci)) + { +- std::cerr<<"SNC_io_parser::read: error in volume line"<::read_items(int plus01) { + for(sei=SEdge_of.begin(); sei!=SEdge_of.end(); ++sei) { + if (!read_sedge(*sei)) + { +- std::cerr<<"SNC_io_parser::read: error in sedge line"<::read_items(int plus01) { + for(sli=SLoop_of.begin(); sli!=SLoop_of.end(); ++sli) { + if (!read_sloop(*sli)) + { +- std::cerr<<"SNC_io_parser::read: error in sloop line"<::read_items(int plus01) { + for(sfi=SFace_of.begin(); sfi!=SFace_of.end(); ++sfi) { + if (!read_sface(*sfi)) + { +- std::cerr<<"SNC_io_parser::read: error in sface line"<::read() + { + if ( !check_sep("Nef_polyhedron_S2") ) + { +- std::cerr<<"Missing line in header"<> vn)) ) + { +- std::cerr<<"SM_io_parser::read: wrong vertex line."<> en) && (en%2==0)) ) + { +- std::cerr<<"SM_io_parser::read: wrong edge line."<> ln)) ) + { +- std::cerr<<"SM_io_parser::read: wrong loop line."<> fn)) ) + { +- std::cerr<<"SM_io_parser::read: wrong face line."<::read() + for(i=0; i::read() + for(i=0; i +Date: Wed, 20 Jan 2021 08:38:33 +0100 +Subject: [PATCH 4/8] Fix typo and use setstate + +--- + Nef_2/include/CGAL/Nef_2/PM_io_parser.h | 10 ++-- + Nef_3/include/CGAL/Nef_3/SNC_io_parser.h | 66 +++++++++++------------ + Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h | 10 ++-- + 3 files changed, 43 insertions(+), 43 deletions(-) + +diff --git a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h +index 52bc830e115..64a3e94916e 100644 +--- a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h ++++ b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h +@@ -202,7 +202,7 @@ bool PM_io_parser::read_vertex(Vertex_handle v) + + if(!(f >= 0 && ((iso && f < fn) || (!iso && f < en)))) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + if (iso) v->set_face(Face_of[f]); +@@ -238,7 +238,7 @@ bool PM_io_parser::read_hedge(Halfedge_handle e) + if(!(eo >= 0 && (std::size_t) eo < en && epr >= 0 && (std::size_t) epr < en && ene >= 0 && (std::size_t) ene < en && + v >= 0 && (std::size_t) v < vn && f >= 0 && (std::size_t) f < fn )) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + std::cerr<<"wrong index in read_hedge"<::read_face(Face_handle f) + } + else + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + while (in >> ei) { + CGAL_assertion_msg(ei >= 0 && (std::size_t) ei < en, "wrong index in face cycle list."); + if (!(ei >= 0 && ei < en)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + f->store_fc(Halfedge_of[ei]); +@@ -299,7 +299,7 @@ bool PM_io_parser::read_face(Face_handle f) + CGAL_assertion_msg(vi >= 0 && (std::size_t) vi < vn, "wrong index in iso vertex list."); + if (!(vi >= 0 && vi < vn)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + f->store_iv(Vertex_of[vi]); +diff --git a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h +index 21c54dd4133..e5530445153 100644 +--- a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h ++++ b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h +@@ -1402,7 +1402,7 @@ void SNC_io_parser::read() + if ( !check_sep("Selective Nef Complex") ) + { + CGAL_warning_msg(false, "SNC_io_parser::read: no SNC header."); +- returnl ++ return; + } + std::string kernel_type; + in >> kernel_type; +@@ -1581,14 +1581,14 @@ read_vertex(Vertex_handle vh) { + in >> index; + if(index >= int(en)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + vh->svertices_begin() = (index >= 0 ? Edge_of[index] : this->svertices_end()); + in >> index; + if(index >= int(en)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + vh->svertices_last() = index >= 0 ? Edge_of[index] : this->svertices_end(); +@@ -1596,14 +1596,14 @@ read_vertex(Vertex_handle vh) { + in >> index; + if(index >= int(sen)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + vh->shalfedges_begin() = index >= 0 ? SEdge_of[index] : this->shalfedges_end(); + in >> index; + if(index >= int(sen)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + vh->shalfedges_last() = index >= 0 ? SEdge_of[index] : this->shalfedges_end(); +@@ -1611,14 +1611,14 @@ read_vertex(Vertex_handle vh) { + in >> index; + if(index >= int(sfn)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + vh->sfaces_begin() = index >= 0 ? SFace_of[index] : this->sfaces_end(); + in >> index; + if(index >= int(sfn)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + vh->sfaces_last() = index >= 0 ? SFace_of[index] : this->sfaces_end(); +@@ -1626,7 +1626,7 @@ read_vertex(Vertex_handle vh) { + in >> index; + if(index >= int(sln)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + vh->shalfloop() = index >= 0 ? SLoop_of[index] : this->shalfloops_end(); +@@ -1685,7 +1685,7 @@ read_edge(Halfedge_handle eh) { + in >> index; + if(index < 0 || index >= int(en)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + eh->twin() = Edge_of[index]; +@@ -1693,7 +1693,7 @@ read_edge(Halfedge_handle eh) { + in >> index; + if(index < 0 || index >= int(vn)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + eh->center_vertex() = Vertex_of[index]; +@@ -1703,7 +1703,7 @@ read_edge(Halfedge_handle eh) { + in >> index; + if(index < 0 || index >= int(sen)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + eh->out_sedge() = SEdge_of[index]; +@@ -1711,7 +1711,7 @@ read_edge(Halfedge_handle eh) { + in >> index; + if(index < 0 || index >= int(sfn)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + eh->incident_sface() = SFace_of[index]; +@@ -1770,7 +1770,7 @@ read_facet(Halffacet_handle fh) { + in >> index; + if(index < 0 || index >= int(fn)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + fh->twin() = Halffacet_of[index]; +@@ -1782,7 +1782,7 @@ read_facet(Halffacet_handle fh) { + in >> index; + if(index < 0 || index >= int(sen)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + fh->boundary_entry_objects().push_back(make_object(SEdge_of[index])); +@@ -1795,7 +1795,7 @@ read_facet(Halffacet_handle fh) { + in >> index; + if(index < 0 || index >= int(sln)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + fh->boundary_entry_objects().push_back(make_object(SLoop_of[index])); +@@ -1805,7 +1805,7 @@ read_facet(Halffacet_handle fh) { + in >> index; + if(index < 0 || index >= int(vn)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + fh->incident_volume() = Volume_of[index+addInfiBox]; +@@ -1852,7 +1852,7 @@ read_volume(Volume_handle ch) { + in >> index; + if(index < 0 || index >= int(sfn)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + ch->shell_entry_objects().push_back(make_object(SFace_of[index])); +@@ -1907,7 +1907,7 @@ read_sedge(SHalfedge_handle seh) { + in >> index; + if(index < 0 || index >= int(sen)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + seh->twin() = SEdge_of[index]; +@@ -1915,7 +1915,7 @@ read_sedge(SHalfedge_handle seh) { + in >> index; + if(index < 0 || index >= int(sen)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + seh->sprev() = SEdge_of[index]; +@@ -1923,7 +1923,7 @@ read_sedge(SHalfedge_handle seh) { + in >> index; + if(index < 0 || index >= int(sen)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + seh->snext() = SEdge_of[index]; +@@ -1931,7 +1931,7 @@ read_sedge(SHalfedge_handle seh) { + in >> index; + if(index < 0 || index >= int(en)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + seh->source() = Edge_of[index]; +@@ -1939,7 +1939,7 @@ read_sedge(SHalfedge_handle seh) { + in >> index; + if(index < 0 || index >= int(sfn)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + seh->incident_sface() = SFace_of[index]; +@@ -1947,7 +1947,7 @@ read_sedge(SHalfedge_handle seh) { + in >> index; + if(index < 0 || index >= int(sen)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + seh->prev() = SEdge_of[index]; +@@ -1955,7 +1955,7 @@ read_sedge(SHalfedge_handle seh) { + in >> index; + if(index < 0 || index >= int(sen)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + seh->next() = SEdge_of[index]; +@@ -1963,7 +1963,7 @@ read_sedge(SHalfedge_handle seh) { + in >> index; + if(index < 0 || index >= int(fn)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + seh->facet() = Halffacet_of[index]; +@@ -2018,7 +2018,7 @@ read_sloop(SHalfloop_handle slh) { + in >> index; + if(index < 0 || index >= sln) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + slh->twin() = SLoop_of[index]; +@@ -2026,7 +2026,7 @@ read_sloop(SHalfloop_handle slh) { + in >> index; + if(index < 0 || index >= sfn) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + slh->incident_sface() = SFace_of[index]; +@@ -2034,7 +2034,7 @@ read_sloop(SHalfloop_handle slh) { + in >> index; + if(index < 0 || index >= fn) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + slh->facet() = Halffacet_of[index]; +@@ -2085,7 +2085,7 @@ read_sface(SFace_handle sfh) { + in >> index; + if(index < 0 || index >= vn) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + sfh->center_vertex() = Vertex_of[index]; +@@ -2099,7 +2099,7 @@ read_sface(SFace_handle sfh) { + SM_decorator SD(&*sfh->center_vertex()); + if(index < 0 || index >= sen) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + SD.link_as_face_cycle(SEdge_of[index],sfh); +@@ -2112,7 +2112,7 @@ read_sface(SFace_handle sfh) { + in >> index; + if(index < 0 || index >= en) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + sfh->boundary_entry_objects().push_back(make_object(Edge_of[index])); +@@ -2126,7 +2126,7 @@ read_sface(SFace_handle sfh) { + in >> index; + if(index < 0 || index >= sln) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + sfh->boundary_entry_objects().push_back(make_object(SLoop_of[index])); +@@ -2137,7 +2137,7 @@ read_sface(SFace_handle sfh) { + in >> index; + if(index < 0 || index >= vn) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + sfh->volume() = Volume_of[index+addInfiBox]; +diff --git a/Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h b/Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h +index a9377719f93..d58126bac9c 100644 +--- a/Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h ++++ b/Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h +@@ -205,7 +205,7 @@ bool SM_io_parser::read_vertex(SVertex_handle v) + + if(f<0 || (iso && f > fn) || (!iso && f > en)) + { +- in.clear(std::ios_base::badbit); ++ in.setstate(std::ios_base::badbit); + return false; + } + +@@ -246,7 +246,7 @@ bool SM_io_parser::read_edge(SHalfedge_handle e) + v >= 0 && v < vn && f >= 0 && f < fn )) + { + std::cerr<<"wrong index in read_edge"<::read_face(SFace_handle f) + if(!(ei >= 0 && ei < en)) + { + std::cerr<<"wrong index in face cycle list."<store_sm_boundary_object(Edge_of[ei],f); +@@ -326,7 +326,7 @@ bool SM_io_parser::read_face(SFace_handle f) + if(!(vi >= 0 && vi < vn)) + { + std::cerr<<"wrong index in iso vertex list."<store_sm_boundary_object(SVertex_of[vi],f); +@@ -336,7 +336,7 @@ bool SM_io_parser::read_face(SFace_handle f) + if(!(li >= 0 && li < 2)) + { + std::cerr<<"wrong index in iso vertex list."<store_sm_boundary_object(Loop_of[li],f); + +From ffa019712b0ad3b20e3d02edad4d731fda04a2ef Mon Sep 17 00:00:00 2001 +From: Maxime Gimeno +Date: Mon, 25 Jan 2021 12:59:48 +0100 +Subject: [PATCH 5/8] First face may be -1, don't fail on it, just don't use it + +--- + Nef_2/include/CGAL/Nef_2/PM_io_parser.h | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +diff --git a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h +index 64a3e94916e..d08b08180d6 100644 +--- a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h ++++ b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h +@@ -280,11 +280,7 @@ bool PM_io_parser::read_face(Face_handle f) + { + f->set_halfedge(Halfedge_of[ei]); + } +- else +- { +- in.setstate(std::ios_base::badbit); +- return false; +- } ++ + while (in >> ei) { + CGAL_assertion_msg(ei >= 0 && (std::size_t) ei < en, "wrong index in face cycle list."); + if (!(ei >= 0 && ei < en)) + +From d78842712cdfcbb3bdfc5f7cb252d3772fd6a16f Mon Sep 17 00:00:00 2001 +From: Maxime Gimeno +Date: Tue, 26 Jan 2021 09:55:20 +0100 +Subject: [PATCH 6/8] Fix conversion warnigns + +--- + Nef_2/include/CGAL/Nef_2/PM_io_parser.h | 8 ++++---- + Nef_3/include/CGAL/Nef_3/SNC_io_parser.h | 18 +++++++++--------- + 2 files changed, 13 insertions(+), 13 deletions(-) + +diff --git a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h +index d08b08180d6..39b99b37d7c 100644 +--- a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h ++++ b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h +@@ -200,7 +200,7 @@ bool PM_io_parser::read_vertex(Vertex_handle v) + !(in >> p) || + !check_sep("}") ) return false; + +- if(!(f >= 0 && ((iso && f < fn) || (!iso && f < en)))) ++ if(!(f >= 0 && ((iso && (std::size_t)f < fn) || (!iso && (std::size_t)f < en)))) + { + in.setstate(std::ios_base::badbit); + return false; +@@ -276,14 +276,14 @@ bool PM_io_parser::read_face(Face_handle f) + int n, ei, vi; Mark m; + if ( !(in >> n) || !check_sep("{") ) return false; + if ( !(in >> ei) || !check_sep(",") ) return false; +- if (ei >= 0 && ei < en) ++ if (ei >= 0 && (std::size_t) ei < en) + { + f->set_halfedge(Halfedge_of[ei]); + } + + while (in >> ei) { + CGAL_assertion_msg(ei >= 0 && (std::size_t) ei < en, "wrong index in face cycle list."); +- if (!(ei >= 0 && ei < en)) ++ if (!(ei >= 0 && (std::size_t)ei < en)) + { + in.setstate(std::ios_base::badbit); + return false; +@@ -293,7 +293,7 @@ bool PM_io_parser::read_face(Face_handle f) + if (!check_sep(",")) { return false; } + while (in >> vi) { + CGAL_assertion_msg(vi >= 0 && (std::size_t) vi < vn, "wrong index in iso vertex list."); +- if (!(vi >= 0 && vi < vn)) ++ if (!(vi >= 0 && (std::size_t)vi < vn)) + { + in.setstate(std::ios_base::badbit); + return false; +diff --git a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h +index e5530445153..1dde7f8d0b3 100644 +--- a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h ++++ b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h +@@ -1579,7 +1579,7 @@ read_vertex(Vertex_handle vh) { + vh->sncp() = this->sncp(); + + in >> index; +- if(index >= int(en)) ++ if(index >= (int)en) + { + in.setstate(std::ios_base::badbit); + return false; +@@ -2016,7 +2016,7 @@ read_sloop(SHalfloop_handle slh) { + OK = OK && test_string("{"); + + in >> index; +- if(index < 0 || index >= sln) ++ if(index < 0 || index >= (int)(sln)) + { + in.setstate(std::ios_base::badbit); + return false; +@@ -2024,7 +2024,7 @@ read_sloop(SHalfloop_handle slh) { + slh->twin() = SLoop_of[index]; + OK = OK && test_string(","); + in >> index; +- if(index < 0 || index >= sfn) ++ if(index < 0 || index >= (int)(sfn)) + { + in.setstate(std::ios_base::badbit); + return false; +@@ -2032,7 +2032,7 @@ read_sloop(SHalfloop_handle slh) { + slh->incident_sface() = SFace_of[index]; + OK = OK && test_string(","); + in >> index; +- if(index < 0 || index >= fn) ++ if(index < 0 || index >= (int)(fn)) + { + in.setstate(std::ios_base::badbit); + return false; +@@ -2083,7 +2083,7 @@ read_sface(SFace_handle sfh) { + OK = OK && test_string("{"); + + in >> index; +- if(index < 0 || index >= vn) ++ if(index < 0 || index >= (int)(sln)) + { + in.setstate(std::ios_base::badbit); + return false; +@@ -2097,7 +2097,7 @@ read_sface(SFace_handle sfh) { + in >> index; + // sfh->boundary_entry_objects().push_back(SEdge_of[index]); + SM_decorator SD(&*sfh->center_vertex()); +- if(index < 0 || index >= sen) ++ if(index < 0 || index >= (int)(sln)) + { + in.setstate(std::ios_base::badbit); + return false; +@@ -2110,7 +2110,7 @@ read_sface(SFace_handle sfh) { + while(isdigit(cc)) { + in.putback(cc); + in >> index; +- if(index < 0 || index >= en) ++ if(index < 0 || index >= (int)(sln)) + { + in.setstate(std::ios_base::badbit); + return false; +@@ -2124,7 +2124,7 @@ read_sface(SFace_handle sfh) { + while(isdigit(cc)) { + in.putback(cc); + in >> index; +- if(index < 0 || index >= sln) ++ if(index < 0 || index >= (int)(sln)) + { + in.setstate(std::ios_base::badbit); + return false; +@@ -2135,7 +2135,7 @@ read_sface(SFace_handle sfh) { + } + + in >> index; +- if(index < 0 || index >= vn) ++ if(index < 0 || index >= (int)(sln)) + { + in.setstate(std::ios_base::badbit); + return false; + +From 23cc6b0f4a2ac6061b01d86411d58b6da7ff5a34 Mon Sep 17 00:00:00 2001 +From: Maxime Gimeno +Date: Wed, 27 Jan 2021 10:04:45 +0100 +Subject: [PATCH 7/8] Fix read_sface + +--- + .../Convex_decomposition_3/check_decomposition.cpp | 2 ++ + Nef_3/include/CGAL/Nef_3/SNC_io_parser.h | 10 +++++----- + 2 files changed, 7 insertions(+), 5 deletions(-) + +diff --git a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h +index 1dde7f8d0b3..a31a07c5d99 100644 +--- a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h ++++ b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h +@@ -1803,7 +1803,7 @@ read_facet(Halffacet_handle fh) { + } + + in >> index; +- if(index < 0 || index >= int(vn)) ++ if(index < 0 || index >= int(cn)) + { + in.setstate(std::ios_base::badbit); + return false; +@@ -2083,7 +2083,7 @@ read_sface(SFace_handle sfh) { + OK = OK && test_string("{"); + + in >> index; +- if(index < 0 || index >= (int)(sln)) ++ if(index < 0 || index >= (int)(vn)) + { + in.setstate(std::ios_base::badbit); + return false; +@@ -2097,7 +2097,7 @@ read_sface(SFace_handle sfh) { + in >> index; + // sfh->boundary_entry_objects().push_back(SEdge_of[index]); + SM_decorator SD(&*sfh->center_vertex()); +- if(index < 0 || index >= (int)(sln)) ++ if(index < 0 || index >= (int)(sen)) + { + in.setstate(std::ios_base::badbit); + return false; +@@ -2110,7 +2110,7 @@ read_sface(SFace_handle sfh) { + while(isdigit(cc)) { + in.putback(cc); + in >> index; +- if(index < 0 || index >= (int)(sln)) ++ if(index < 0 || index >= (int)(en)) + { + in.setstate(std::ios_base::badbit); + return false; +@@ -2135,7 +2135,7 @@ read_sface(SFace_handle sfh) { + } + + in >> index; +- if(index < 0 || index >= (int)(sln)) ++ if(index < 0 || index >= (int)(cn)) + { + in.setstate(std::ios_base::badbit); + return false; + From 04d780b5c64c0e1aed08b33936f1e3b2789f784d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Fri, 5 Mar 2021 23:48:31 +0100 Subject: [PATCH 0002/1003] gnu: openscad: Disable failing tests with cgal@5.2 input. * gnu/packages/engineering.scm (openscad)[arguments]: Add more disable tests in 'check phase. --- gnu/packages/engineering.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 66331d7c09..f560a15aa9 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -2553,7 +2553,18 @@ specification can be downloaded at @url{http://3mf.io/specification/}.") "echotest_allexpressions" "lazyunion-*" "pdfexporttest_centered" - "pdfexporttest_simple-pdf") + "pdfexporttest_simple-pdf" + + ;; Broken due since cgal@5.2 + + ;; https://github.com/CGAL/cgal/pull/5371 (security) + ;; FIXME: Investigate or wait for future releases to + ;; fix it. + ;; Unsure if wrong test-suite or wrong security + ;; patch. + "cgalpngtest_nef3_broken" + "opencsgtest_nef3_broken" + "csgpngtest_nef3_broken" + "throwntogethertest_nef3_broken") "|"))) ;; strip python test files since lib dir ends up in out/share (for-each delete-file From ae2231559c8d33c222aa9a3b8cdb6aa5d49c8931 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 5 Mar 2021 23:56:15 +0100 Subject: [PATCH 0003/1003] gnu: hplip: Update to 3.21.2. * gnu/packages/cups.scm (hplip): Update to 3.21.2. * gnu/packages/patches/hplip-remove-imageprocessor.patch: Adapt. --- gnu/packages/cups.scm | 6 +-- .../patches/hplip-remove-imageprocessor.patch | 41 ++++++++++++------- 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 51efee5157..e12c1a0689 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016 Danny Milosavljevic ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 Mark H Weaver -;;; Copyright © 2017–2020 Tobias Geerinckx-Rice +;;; Copyright © 2017–2021 Tobias Geerinckx-Rice ;;; Copyright © 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. @@ -484,14 +484,14 @@ should only be used as part of the Guix cups-pk-helper service.") (define-public hplip (package (name "hplip") - (version "3.20.11") + (version "3.21.2") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/hplip/hplip/" version "/hplip-" version ".tar.gz")) (sha256 (base32 - "04fvdyjyjbkviy3awgm7g43p3lrvrsmgaqz8bwra22g7v2rpa5hb")) + "0hbwx9d4c8177vi0gavz9pxi7rc97jciacndp90ms8327shj2121")) (modules '((guix build utils))) (patches (search-patches "hplip-remove-imageprocessor.patch")) (snippet diff --git a/gnu/packages/patches/hplip-remove-imageprocessor.patch b/gnu/packages/patches/hplip-remove-imageprocessor.patch index cde3ecba2d..c9d27a4d1d 100644 --- a/gnu/packages/patches/hplip-remove-imageprocessor.patch +++ b/gnu/packages/patches/hplip-remove-imageprocessor.patch @@ -1,4 +1,5 @@ -This patch is based heavily on the Debian patch. +This patch is based heavily on the Debian patch, but was updated to +apply to subsequent upstream changes not yet in Debian. https://salsa.debian.org/printing-team/hplip/raw/debian/3.18.10+dfsg0-1/debian/patches/0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch @@ -175,55 +176,67 @@ index 5b282d8..0bacfaf 100644 #include #include -@@ -637,16 +636,10 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster) - +@@ -651,21 +650,8 @@ sprintf(hpPreProcessedRasterFile, "%s/hp_%s_cups_SwapedPagesXXXXXX",CUPS_TMP_DIR, m_JA.user_name); -- image_processor_t* imageProcessor = imageProcessorCreate(); - + +- image_processor_t* imageProcessor=NULL; +- IMAGE_PROCESSOR_ERROR result; +- //added if condition to check if pinter language is "ljzjstream" +- //If so, then bypass imageprocessing functions while running HPCUPS filter. +- if(strncmp(m_JA.printer_platform, "ljzjstream",10) == 0){ +- imageProcessor = imageProcessorCreate(); +- } while (cupsRasterReadHeader2(cups_raster, &cups_header)) { - -- IMAGE_PROCESSOR_ERROR result = imageProcessorStartPage(imageProcessor, &cups_header); +- if(strncmp(m_JA.printer_platform, "ljzjstream",10) == 0){ +- result = imageProcessorStartPage(imageProcessor, &cups_header); - if (result != IPE_SUCCESS){ - dbglog("DEBUG: imageProcessorStartPage failed result = %d\n", result); - } -- +- } current_page_number++; if (current_page_number == 1) { -@@ -745,12 +738,6 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster) +@@ -764,14 +750,6 @@ color_raster = rgbRaster; black_raster = kRaster; +- if(strncmp(m_JA.printer_platform, "ljzjstream",10) == 0) +- { - result = imageProcessorProcessLine(imageProcessor, m_pPrinterBuffer, cups_header.cupsBytesPerLine); - if (result != IPE_SUCCESS){ - dbglog("DEBUG: imageProcessorProcessLine failed result = %d\n", result); - } -- +- } - if ((y == 0) && !is_ljmono) { //For ljmono, make sure that first line is not a blankRaster line.Otherwise printer //may not skip blank lines before actual data -@@ -780,12 +767,6 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster) +@@ -801,14 +779,6 @@ } } // for() loop end +- if(strncmp(m_JA.printer_platform, "ljzjstream",10) == 0) +- { - result = imageProcessorEndPage(imageProcessor); - if (result != IPE_SUCCESS){ - dbglog("DEBUG: imageProcessorEndPage failed result = %d\n", result); - } -- +- } - m_Job.NewPage(); if (err != NO_ERROR) { break; -@@ -800,8 +781,6 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster) +@@ -823,11 +793,6 @@ rgbRaster = NULL; } +- +- if(strncmp(m_JA.printer_platform, "ljzjstream",10) == 0) +- { - imageProcessorDestroy(imageProcessor); -- +- } unlink(hpPreProcessedRasterFile); return ret_status; } From db5a70c81dba2545d6114d5c41bfc7192ac27cd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Sat, 6 Mar 2021 00:00:24 +0100 Subject: [PATCH 0004/1003] gnu: Add python-readability. * gnu/packages/python-xyz.scm (python-readability): New variable. --- gnu/packages/python-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index fbc9ad688d..4e8a28ee6e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -24016,3 +24016,27 @@ and frame grabber interface.") "This package provides a command-line interface (CLI) to the Jinja2 template engine.") (license license:bsd-3))) + +(define-public python-readability + (package + (name "python-readability") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "readability" version)) + (sha256 + (base32 + "1b8gq3g2zwvx0aivvdg56cc0bn7xw6f2v6psmxdx9aiipkw0s0zr")))) + (build-system python-build-system) + (home-page + "https://github.com/andreasvc/readability/") + (synopsis + "Measure the readability of a given text using surface +characteristics") + (description + "This package provides a Python library that is an implementation of +traditional readability measures based on simple surface +characteristics. These measures are basically linear regressions based on the +number of words, syllables, and sentences.") + (license license:asl2.0))) From 3218f02de4a95365e9e6eca83fd4c94dfd0b748c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Sat, 6 Mar 2021 00:02:28 +0100 Subject: [PATCH 0005/1003] gnu: Add python-listparser. * gnu/packages/python-xyz.scm (python-listparser): New variable. --- gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 4e8a28ee6e..aec5b5e77a 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -24040,3 +24040,24 @@ traditional readability measures based on simple surface characteristics. These measures are basically linear regressions based on the number of words, syllables, and sentences.") (license license:asl2.0))) + +(define-public python-listparser + (package + (name "python-listparser") + (version "0.18") + (source + (origin + (method url-fetch) + (uri (pypi-uri "listparser" version)) + (sha256 + (base32 + "0hdqs1mmayw1r8yla43hgb4d9y3zqs5483vgf8j9ygczkd2wrq2b")))) + (build-system python-build-system) + (home-page + "https://github.com/kurtmckee/listparser") + (synopsis + "Parse subscription lists in Python") + (description + "This package provides a Python library that can parse OPML, FOAF, and +iGoogle subscription lists.") + (license license:expat))) From 373e5fc96724fd38bb1263e4af90932ea36f596b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Sat, 6 Mar 2021 00:05:46 +0100 Subject: [PATCH 0006/1003] gnu: Add gfeeds. * gnu/packages/syndication.scm (gfeeds): New variable. --- gnu/packages/syndication.scm | 67 +++++++++++++++++++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index 89ef69f6b8..79dbb77018 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -24,10 +24,11 @@ #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix build-system cargo) - #:use-module (guix build-system qt) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system python) + #:use-module (guix build-system qt) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) @@ -50,7 +51,9 @@ #:use-module (gnu packages qt) #:use-module (gnu packages ruby) #:use-module (gnu packages sqlite) + #:use-module (gnu packages time) #:use-module (gnu packages tls) + #:use-module (gnu packages video) #:use-module (gnu packages web) #:use-module (gnu packages webkit) #:use-module (gnu packages xml) @@ -415,3 +418,65 @@ formats, including all versions of RSS and Atom.") (description "QuiteRSS is an RSS/Atom news feeds reader written on Qt/C++ that aims to be quite fast and comfortable to it's user.") (license license:gpl3+))) + +(define-public gfeeds + (package + (name "gfeeds") + (version "0.16.2") + (source (origin + (method url-fetch) + (uri + (string-append + "https://gitlab.gnome.org/World/gfeeds/-/archive/" version + "/gfeeds-" version ".tar.bz2")) + (sha256 + (base32 + "05gwwzqfz29m477imd5vh84jfla1wnklwpc2sdxnqli72wg08fli")))) + (build-system meson-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-mpv-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "gfeeds/confManager.py" + (("mpv") (string-append (assoc-ref inputs "mpv") "/bin/mpv"))) + #t)) + (add-after 'install 'wrap-gfeeds + (lambda* (#:key outputs #:allow-other-keys) + (wrap-program (string-append + (assoc-ref outputs "out") "/bin/gfeeds") + `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))) + `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH"))) + `("XDG_DATA_DIRS" ":" prefix (,(getenv "XDG_DATA_DIRS")))) + #t))))) + (native-inputs + `(("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk+:bin" ,gtk+ "bin") + ("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gtk+" ,gtk+) + ("hicolor-icon-theme" ,hicolor-icon-theme) + ("libhandy" ,libhandy) + ("mpv" ,mpv) + ("python" ,python) + ("python-beautifulsoup4" ,python-beautifulsoup4) + ("python-dateutil" ,python-dateutil) + ("python-feedparser" ,python-feedparser) + ("python-html5lib" ,python-html5lib) + ("python-listparser" ,python-listparser) + ("python-lxml" ,python-lxml) + ("python-pillow" ,python-pillow) + ("python-pygments" ,python-pygments) + ("python-pytz" ,python-pytz) + ("python-readability" ,python-readability) + ("python-requests" ,python-requests) + ("webkitgtk" ,webkitgtk) + ("python-pygobject" ,python-pygobject))) + (home-page "https://gfeeds.gabmus.org/") + (synopsis "Easy-to-use GTK+ RSS/Atom feed reader") + (description "Feeds is an RSS/Atom feed reader made with GTK+ +and it has an easy-to-use graphical user interface.") + (license license:gpl3+))) From 1582f12233b9de6faf7cb811b6736dac0774d867 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 00:47:35 +0100 Subject: [PATCH 0007/1003] gnu: epson-inkjet-printer-escpr: Update to 1.7.9. * gnu/packages/cups.scm (epson-inkjet-printer-escpr): Update to 1.7.9. --- gnu/packages/cups.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index e12c1a0689..2edd5d245c 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -855,7 +855,7 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.") (define-public epson-inkjet-printer-escpr (package (name "epson-inkjet-printer-escpr") - (version "1.7.8") + (version "1.7.9") ;; XXX: This currently works. But it will break as soon as a newer ;; version is available since the URLs for older versions are not ;; preserved. An alternative source will be added as soon as @@ -863,11 +863,11 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.") (source (origin (method url-fetch) - (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/12/04/32/" - "1a455ef8618def65700ca4e446311c2fb43cd839/" - "epson-inkjet-printer-escpr-1.7.8-1lsb3.2.tar.gz")) + (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/12/50/95/" + "322b8d6b915ab85add33d41f04ba5130866aadbe/" + "epson-inkjet-printer-escpr-1.7.9-1lsb3.2.tar.gz")) (sha256 - (base32 "1pygg2bd2gh27dc65h3dzwrpvi6bq5c87wl0ldchqlc2b3blsx6p")))) + (base32 "136hhvhimxfnrdn3ksbiswjxgsifrwlp3zz8h0v63w4k1vkzpgc0")))) (build-system gnu-build-system) (arguments `(#:modules From 170cf035cece04fd2b9460451f5f66ba5c4485ca Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 00:47:44 +0100 Subject: [PATCH 0008/1003] gnu: libmd: Update to 1.0.3. * gnu/packages/crypto.scm (libmd): Update to 1.0.3. --- gnu/packages/crypto.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index e0fa74409b..5c8e4d6b22 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -114,7 +114,7 @@ communication, encryption, decryption, signatures, etc.") (define-public libmd (package (name "libmd") - (version "1.0.1") + (version "1.0.3") (source (origin (method url-fetch) (uri @@ -125,7 +125,7 @@ communication, encryption, decryption, signatures, etc.") version ".tar.xz"))) (sha256 (base32 - "0waclg2d5qin3r26gy5jvy4584ik60njc8pqbzwk0lzq3j9ynkp1")))) + "0jmga8y94h857ilra3qjaiax3wd5pd6mx1h120zhl9fcjmzhj0js")))) (build-system gnu-build-system) (synopsis "Message Digest functions from BSD systems") (description From c8cbd369eb512b0bc5cc0d5dfc2b5d35da50aa4f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 01:07:24 +0100 Subject: [PATCH 0009/1003] gnu: vim-full: Remove duplicate 'make-flags'. Fixes . Co-authored-by: Tobias Geerinckx-Rice * gnu/packages/vim.scm (vim-full)[arguments]: Remove duplicate 'make-flags'. Signed-off-by: Tobias Geerinckx-Rice --- gnu/packages/vim.scm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 372d470e09..d559364d32 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2019 Julien Lepiller ;;; Copyright © 2019, 2020 Jakub Kądziołka ;;; Copyright © 2020 Jack Hill +;;; Copyright © 2021 Simon Tournier ;;; ;;; This file is part of GNU Guix. ;;; @@ -216,11 +217,14 @@ with the editor vim."))) "--enable-xim" "--disable-selinux" "--enable-gui") - ;; This flag fixes the following error: - ;; .../libpython3.7m.a(pyexpat.o): undefined reference to symbol 'XML_FreeContentModel' - ;; .../libexpat.so.1: error adding symbols: DSO missing from command line - #:make-flags '("LDFLAGS=-lexpat") ,@(substitute-keyword-arguments (package-arguments vim) + ;; This flag fixes the following error: + ;; .../libpython3.7m.a(pyexpat.o): undefined reference to symbol 'XML_FreeContentModel' + ;; .../libexpat.so.1: error adding symbols: DSO missing from command line + ((#:make-flags flags) + `(append + (list "LDFLAGS=-lexpat") + (delete "CFLAGS=-D_REENTRANT" ,flags))) ((#:phases phases) `(modify-phases ,phases (add-before 'check 'start-xserver From cacab6853df6099fc7a3849fd4ebf93ce00a0bbb Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 01:16:08 +0100 Subject: [PATCH 0010/1003] gnu: qtmips: Update to 0.7.5. * gnu/packages/emulators.scm (qtmips): Update to 0.7.5. --- gnu/packages/emulators.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 057d78ace9..532ca60602 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -285,7 +285,7 @@ older games.") (define-public qtmips (package (name "qtmips") - (version "0.7.3") + (version "0.7.5") (source (origin (method git-fetch) (uri (git-reference @@ -294,7 +294,7 @@ older games.") (file-name (git-file-name name version)) (sha256 (base32 - "1khvwgqz4h6q6mhbbq0yx43ajz8gx9wmwzs8784vmfrglndbxgax")))) + "1fal7a8y5g0rqqjrk795jh1l50ihz01ppjnrfjrk9vkjbd59szbp")))) (build-system cmake-build-system) (arguments '(#:phases From faaf7ef335f6ff49fcb4cc3bb86d2c047ca30f2b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 01:17:34 +0100 Subject: [PATCH 0011/1003] gnu: fsarchiver: Update to 0.8.6. * gnu/packages/file-systems.scm (fsarchiver): Update to 0.8.6. --- gnu/packages/file-systems.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 866e9e5392..32f0db91d8 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -264,7 +264,7 @@ always possible.") (define-public fsarchiver (package (name "fsarchiver") - (version "0.8.5") + (version "0.8.6") (source (origin (method git-fetch) @@ -274,7 +274,7 @@ always possible.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1rvwq5v3rl14bqxjm1ibfapyicf0sa44nw7451v10kx39lp56ylp")))) + (base32 "1ry2sdkfbg4bwcldk42g1i3wa3z4pr9yh9dil6ilhwcvhqiw41zc")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) From 1462a11dbb3d2256c8693e56a583cfd100e27609 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 01:21:04 +0100 Subject: [PATCH 0012/1003] gnu: verilator: Update to 4.110. * gnu/packages/fpga.scm (verilator): Update to 4.110. --- gnu/packages/fpga.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index bee87d9311..8c2325842f 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -502,7 +502,7 @@ using different abstraction levels.") (define-public verilator (package (name "verilator") - (version "4.108") + (version "4.110") (source (origin (method git-fetch) @@ -511,7 +511,7 @@ using different abstraction levels.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0kcs0p8i2hiw348xqqh49pmllqspbzh2ljwmia03b42md5h4x5vf")))) + (base32 "1lm2nyn7wzxj5y0ffwazhb4ygnmqf4d61sl937vmnmrpvdihsrrq")))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) From 6f873731a030dd7ecbd8a5e756b38b26306f6966 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Sat, 6 Mar 2021 02:42:34 +0100 Subject: [PATCH 0013/1003] gnu: zstd: Update to 1.4.9 [security fixes]. Fixes CVE-2021-24031 and CVE-2021-24032. * gnu/packages/compression.scm (zstd-1.4.9): New variable. * gnu/packages/compression.scm (zstd): Update to 1.4.9. [replacement]: Graft with 'zstd-1.4.9'. --- gnu/packages/compression.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 3561dc6bbe..ee7f607dcb 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1442,6 +1442,7 @@ or junctions, and always follows hard links.") "v" version "/zstd-" version ".tar.gz")) (sha256 (base32 "05ckxap00qvc0j51d3ci38150cxsw82w7s9zgd5fgzspnzmp1vsr")))) + (replacement zstd-1.4.9) (build-system gnu-build-system) (outputs '("out" ;1.2MiB executables and documentation "lib" ;1.2MiB shared library and headers @@ -1501,6 +1502,19 @@ speed.") license:public-domain ; zlibWrapper/examples/fitblk* license:zlib)))) ; zlibWrapper/{gz*.c,gzguts.h} +(define-public zstd-1.4.9 + (package + (inherit zstd) + (name "zstd") + (version "1.4.9") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/facebook/zstd/releases/download/" + "v" version "/zstd-" version ".tar.gz")) + (sha256 + (base32 "14yj7309gsvg39rki4xqnd6w5idmqi0655v1fc0mk1m2kvhp9b19")))))) + (define-public pzstd (package (name "pzstd") From 090456dacb76160280a630d53f4f47b421281c66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Sat, 6 Mar 2021 04:47:10 +0100 Subject: [PATCH 0014/1003] gnu: ytnef: Fix CVE-2021-3403 and CVE-2021-3404. * gnu/packages/patches/ytnef-CVE-2021-3403.patch, gnu/packages/patches/ytnef-CVE-2021-3404.patch: New patches. * gnu/local.mk (dist_patch_DATA): Register them. * gnu/packages/mail.scm (ytnef): Apply them. --- gnu/local.mk | 2 ++ gnu/packages/mail.scm | 4 ++- .../patches/ytnef-CVE-2021-3403.patch | 32 +++++++++++++++++++ .../patches/ytnef-CVE-2021-3404.patch | 30 +++++++++++++++++ 4 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/ytnef-CVE-2021-3403.patch create mode 100644 gnu/packages/patches/ytnef-CVE-2021-3404.patch diff --git a/gnu/local.mk b/gnu/local.mk index 4900dabc36..fb3b395852 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1755,6 +1755,8 @@ dist_patch_DATA = \ %D%/packages/patches/xsane-support-ipv6.patch \ %D%/packages/patches/xsane-tighten-default-umask.patch \ %D%/packages/patches/yggdrasil-extra-config.patch \ + %D%/packages/patches/ytnef-CVE-2021-3403.patch \ + %D%/packages/patches/ytnef-CVE-2021-3404.patch \ %D%/packages/patches/zziplib-CVE-2018-16548.patch MISC_DISTRO_FILES = \ diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 0e0934a245..d90bfead72 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -3909,7 +3909,9 @@ It is a replacement for the @command{urlview} program.") (file-name (git-file-name name version)) (sha256 (base32 - "07h48s5qf08503pp9kafqbwipdqghiif22ghki7z8j67gyp04l6l")))) + "07h48s5qf08503pp9kafqbwipdqghiif22ghki7z8j67gyp04l6l")) + (patches (search-patches "ytnef-CVE-2021-3403.patch" + "ytnef-CVE-2021-3404.patch")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) diff --git a/gnu/packages/patches/ytnef-CVE-2021-3403.patch b/gnu/packages/patches/ytnef-CVE-2021-3403.patch new file mode 100644 index 0000000000..4b1c9d659f --- /dev/null +++ b/gnu/packages/patches/ytnef-CVE-2021-3403.patch @@ -0,0 +1,32 @@ +From f2380a53fb84d370eaf6e6c3473062c54c57fac7 Mon Sep 17 00:00:00 2001 +From: Oliver Giles +Date: Mon, 1 Feb 2021 10:12:16 +1300 +Subject: [PATCH] Prevent potential double-free in TNEFSubjectHandler + +If TNEFSubjectHandler is called multiple times, but the last time +failed due to the PREALLOCCHECK, the subject.data member will be +a freed, but invalid pointer. To prevent a double-free next time +TNEFSubjectHandler is entered, set it to zero after freeing. + +Resolves: #85 +Reported-by: jasperla +--- + lib/ytnef.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/lib/ytnef.c b/lib/ytnef.c +index b148719..b06c807 100644 +--- a/lib/ytnef.c ++++ b/lib/ytnef.c +@@ -301,8 +301,10 @@ int TNEFFromHandler STD_ARGLIST { + } + // ----------------------------------------------------------------------------- + int TNEFSubjectHandler STD_ARGLIST { +- if (TNEF->subject.data) ++ if (TNEF->subject.data) { + free(TNEF->subject.data); ++ TNEF->subject.data = NULL; ++ } + + PREALLOCCHECK(size, 100); + TNEF->subject.data = calloc(size+1, sizeof(BYTE)); diff --git a/gnu/packages/patches/ytnef-CVE-2021-3404.patch b/gnu/packages/patches/ytnef-CVE-2021-3404.patch new file mode 100644 index 0000000000..e991d6aff1 --- /dev/null +++ b/gnu/packages/patches/ytnef-CVE-2021-3404.patch @@ -0,0 +1,30 @@ +From f9ff4a203b8c155d51a208cadadb62f224fba715 Mon Sep 17 00:00:00 2001 +From: Oliver Giles +Date: Mon, 1 Feb 2021 10:18:17 +1300 +Subject: [PATCH] Ensure the size of the version field is 4 bytes + +A corrupted version field size can cause TNEFVersion to access outside +of allocated memory. Check the version is the expected size and raise +an error if not. + +Resolves: #86 +Reported-by: jasperla +--- + lib/ytnef.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/lib/ytnef.c b/lib/ytnef.c +index b148719..ffede44 100644 +--- a/lib/ytnef.c ++++ b/lib/ytnef.c +@@ -335,6 +335,10 @@ int TNEFRendData STD_ARGLIST { + int TNEFVersion STD_ARGLIST { + WORD major; + WORD minor; ++ if (size != 2 * sizeof(WORD)) { ++ printf("Incorrect size of version field, suspected corruption\n"); ++ return -1; ++ } + minor = SwapWord((BYTE*)data, size); + major = SwapWord((BYTE*)data + 2, size - 2); + From eab6776ecd85a38fc7ff116a497dca0808d4a194 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 6 Mar 2021 11:21:40 +0100 Subject: [PATCH 0015/1003] gnu: emacs-modus-themes: Update to 1.2.3. * gnu/packages/emacs-xyz.scm (emacs-modus-themes): Update to 1.2.3. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index cfd1fdeb86..ad4a3e254b 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -24350,7 +24350,7 @@ Emacs that integrate with major modes like Org-mode.") (define-public emacs-modus-themes (package (name "emacs-modus-themes") - (version "1.1.1") + (version "1.2.3") (source (origin (method git-fetch) @@ -24359,7 +24359,7 @@ Emacs that integrate with major modes like Org-mode.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1n716nasa1pccz7983kicagc9sqnxlyfmflvifqk4kza2ks0rh9m")))) + (base32 "1l392hz6zs6wg06x2zxnk7s0h5cpmvbkcynh68gjmqjj84l7mqrk")))) (build-system emacs-build-system) (home-page "https://protesilaos.com/modus-themes/") (synopsis "Accessible themes (WCAG AAA)") From ae6d19e7d6fca883b465e85d5b0cb4264b6bd9d9 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 6 Mar 2021 11:36:51 +0100 Subject: [PATCH 0016/1003] gnu: texmacs: Update to 1.99.19. * gnu/packages/text-editors.scm (texmacs): Update to 1.99.19. --- gnu/packages/text-editors.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 0cce85a223..89fe797f36 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -806,14 +806,14 @@ editors.") (define-public texmacs (package (name "texmacs") - (version "1.99.18") + (version "1.99.19") (source (origin (method url-fetch) (uri (string-append "https://www.texmacs.org/Download/ftp/tmftp/" "source/TeXmacs-" version "-src.tar.gz")) (sha256 - (base32 "0il3fwgw20421aj90wg8kyhkwk6lbgb3bb2g5qamh5lk90yj725i")))) + (base32 "1izwqb0z4gqiglv57mjswk6sjivny73kd2sxrf3nmj7wr12pn5m8")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) From 3182539875a67f5989c73c3c654fe3138bbc275c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 6 Mar 2021 11:02:21 +0100 Subject: [PATCH 0017/1003] Revert "tests: Refer to '%derivation-cache' in the right module." This reverts commit b1248016e0492e1897f4d1127ccb07736c9bb6a5, which was a mistake: the two '%derivation-cache' are two different things. It broke tests that use 'call-with-external-store'. --- guix/tests.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/tests.scm b/guix/tests.scm index af6f34e0ad..fc3d521163 100644 --- a/guix/tests.scm +++ b/guix/tests.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -140,7 +140,7 @@ no external store to talk to." (lambda () ;; Since we're using a different store we must clear the ;; package-derivation cache. - (hash-clear! (@@ (guix derivations) %derivation-cache)) + (hash-clear! (@@ (guix packages) %derivation-cache)) (proc store)) (lambda () From c05ceaf2b650d090cf39a048193505cb4e6bd257 Mon Sep 17 00:00:00 2001 From: Maxime Devos Date: Sat, 20 Feb 2021 22:04:59 +0100 Subject: [PATCH 0018/1003] tests: do not hard code HTTP ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, test cases could fail if some process was listening at a hard-coded port. This patch eliminates most of these potential failures, by automatically assigning an unbound port. This should allow for building multiple guix trees in parallel outside a build container, though this is currently untested. The test "home-page: Connection refused" in tests/lint.scm still hardcodes port 9999, however. * guix/tests/http.scm (http-server-can-listen?): remove now unused procedure. (%http-server-port): default to port 0, meaning the OS will automatically choose a port. (open-http-server-socket): remove the false statement claiming this procedure is exported and also return the allocated port number. (%local-url): raise an error if the port is obviously unbound. (call-with-http-server): set %http-server-port to the allocated port while the thunk is called. * tests/derivations.scm: adjust test cases to use automatically assign a port. As there is no risk of a port conflict now, do not make any tests conditional upon 'http-server-can-listen?' anymore. * tests/elpa.scm: likewise. * tests/lint.scm: likewise, and add a TODO comment about a port that is still hard-coded. * tests/texlive.scm: likewise. Signed-off-by: Ludovic Courtès --- guix/tests/http.scm | 38 +++++---- tests/derivations.scm | 41 ++++------ tests/elpa.scm | 3 - tests/lint.scm | 179 +++++++++++++++++++----------------------- tests/texlive.scm | 3 - 5 files changed, 118 insertions(+), 146 deletions(-) diff --git a/guix/tests/http.scm b/guix/tests/http.scm index 4119e9ce01..8f50eaefca 100644 --- a/guix/tests/http.scm +++ b/guix/tests/http.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ludovic Courtès +;;; Copyright © 2021 Maxime Devos ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,12 +22,12 @@ #:use-module (web server) #:use-module (web server http) #:use-module (web response) + #:use-module (srfi srfi-11) #:use-module (srfi srfi-39) #:use-module (ice-9 match) #:export (with-http-server call-with-http-server %http-server-port - http-server-can-listen? %local-url)) ;;; Commentary: @@ -37,12 +38,13 @@ (define %http-server-port ;; TCP port to use for the stub HTTP server. - (make-parameter 9999)) + ;; If 0, the OS will automatically choose + ;; a port. + (make-parameter 0)) (define (open-http-server-socket) - "Return a listening socket for the web server. It is useful to export it so -that tests can check whether we succeeded opening the socket and tests skip if -needed." + "Return a listening socket for the web server and the port +actually listened at (in case %http-server-port was 0)." (catch 'system-error (lambda () (let ((sock (socket PF_INET SOCK_STREAM 0))) @@ -50,22 +52,18 @@ needed." (bind sock (make-socket-address AF_INET INADDR_LOOPBACK (%http-server-port))) - sock)) + (values sock + (sockaddr:port (getsockname sock))))) (lambda args (let ((err (system-error-errno args))) (format (current-error-port) "warning: cannot run Web server for tests: ~a~%" (strerror err)) - #f)))) - -(define (http-server-can-listen?) - "Return #t if we managed to open a listening socket." - (and=> (open-http-server-socket) - (lambda (socket) - (close-port socket) - #t))) + (values #f #f))))) (define* (%local-url #:optional (port (%http-server-port))) + (when (= port 0) + (error "no web server is running!")) ;; URL to use for 'home-page' tests. (string-append "http://localhost:" (number->string port) "/foo/bar")) @@ -73,7 +71,10 @@ needed." (define* (call-with-http-server responses+data thunk) "Call THUNK with an HTTP server running and returning RESPONSES+DATA on HTTP requests. Each element of RESPONSES+DATA must be a tuple containing a -response and a string, or an HTTP response code and a string." +response and a string, or an HTTP response code and a string. + +%http-server-port will be set to the port listened at +The port listened at will be set for the dynamic extent of THUNK." (define responses (map (match-lambda (((? response? response) data) @@ -100,6 +101,7 @@ response and a string, or an HTTP response code and a string." ;; Mutex and condition variable to synchronize with the HTTP server. (define %http-server-lock (make-mutex)) (define %http-server-ready (make-condition-variable)) + (define %http-real-server-port #f) (define (http-open . args) "Start listening for HTTP requests and signal %HTTP-SERVER-READY." @@ -122,7 +124,8 @@ response and a string, or an HTTP response code and a string." (set! responses rest) (values response data)))) - (let ((socket (open-http-server-socket))) + (let-values (((socket port) (open-http-server-socket))) + (set! %http-real-server-port port) (catch 'quit (lambda () (run-server handle stub-http-server @@ -134,7 +137,8 @@ response and a string, or an HTTP response code and a string." (let ((server (make-thread server-body))) (wait-condition-variable %http-server-ready %http-server-lock) ;; Normally SERVER exits automatically once it has received a request. - (thunk)))) + (parameterize ((%http-server-port %http-real-server-port)) + (thunk))))) (define-syntax with-http-server (syntax-rules () diff --git a/tests/derivations.scm b/tests/derivations.scm index 9f1104a887..cd165d1be6 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -77,9 +77,6 @@ (lambda (e1 e2) (string. - (let* ((text (random-text)) - (drv (derivation %store "world" - "builtin:download" '() - #:env-vars `(("url" - . ,(object->string (%local-url)))) - #:hash-algo 'sha256 - #:hash (gcrypt:sha256 (string->utf8 text))))) - (and (with-http-server `((200 ,text)) - (build-derivations %store (list drv))) - (with-http-server `((200 ,text)) - (build-derivations %store (list drv) - (build-mode check))) - (string=? (call-with-input-file (derivation->output-path drv) - get-string-all) - text)))) + (let* ((text (random-text))) + (with-http-server `((200 ,text)) + (let ((drv (derivation %store "world" + "builtin:download" '() + #:env-vars `(("url" + . ,(object->string (%local-url)))) + #:hash-algo 'sha256 + #:hash (gcrypt:sha256 (string->utf8 text))))) + (and drv (build-derivations %store (list drv)) + (with-http-server `((200 ,text)) + (build-derivations %store (list drv) + (build-mode check))) + (string=? (call-with-input-file (derivation->output-path drv) + get-string-all) + text)))))) (test-equal "derivation-name" "foo-0.0" diff --git a/tests/elpa.scm b/tests/elpa.scm index a008cf993c..01ef948b2e 100644 --- a/tests/elpa.scm +++ b/tests/elpa.scm @@ -40,9 +40,6 @@ nil "Integrated environment for *TeX*" tar ((:url . "http://www.gnu.org/software/auctex/"))]))) -;; Avoid collisions with other tests. -(%http-server-port 10300) - (test-begin "elpa") (define (eval-test-with-elpa pkg) diff --git a/tests/lint.scm b/tests/lint.scm index 7c24611934..b92053fd5f 100644 --- a/tests/lint.scm +++ b/tests/lint.scm @@ -62,7 +62,6 @@ ;; Test the linter. ;; Avoid collisions with other tests. -(%http-server-port 9999) (define %null-sha256 ;; SHA256 of the empty string. @@ -500,16 +499,16 @@ (home-page "http://does-not-exist")))) (warning-contains? "domain not found" (check-home-page pkg)))) -(test-skip (if (http-server-can-listen?) 0 1)) -(test-equal "home-page: Connection refused" - "URI http://localhost:9999/foo/bar unreachable: Connection refused" - (let ((pkg (package - (inherit (dummy-package "x")) - (home-page (%local-url))))) - (single-lint-warning-message - (check-home-page pkg)))) +(parameterize ((%http-server-port 9999)) + ;; TODO skip this test if some process is currently listening at 9999 + (test-equal "home-page: Connection refused" + "URI http://localhost:9999/foo/bar unreachable: Connection refused" + (let ((pkg (package + (inherit (dummy-package "x")) + (home-page (%local-url))))) + (single-lint-warning-message + (check-home-page pkg))))) -(test-skip (if (http-server-can-listen?) 0 1)) (test-equal "home-page: 200" '() (with-http-server `((200 ,%long-string)) @@ -518,10 +517,10 @@ (home-page (%local-url))))) (check-home-page pkg)))) -(test-skip (if (http-server-can-listen?) 0 1)) -(test-equal "home-page: 200 but short length" - "URI http://localhost:9999/foo/bar returned suspiciously small file (18 bytes)" - (with-http-server `((200 "This is too small.")) +(with-http-server `((200 "This is too small.")) + (test-equal "home-page: 200 but short length" + (format #f "URI ~a returned suspiciously small file (18 bytes)" + (%local-url)) (let ((pkg (package (inherit (dummy-package "x")) (home-page (%local-url))))) @@ -529,54 +528,51 @@ (single-lint-warning-message (check-home-page pkg))))) -(test-skip (if (http-server-can-listen?) 0 1)) -(test-equal "home-page: 404" - "URI http://localhost:9999/foo/bar not reachable: 404 (\"Such is life\")" - (with-http-server `((404 ,%long-string)) +(with-http-server `((404 ,%long-string)) + (test-equal "home-page: 404" + (format #f "URI ~a not reachable: 404 (\"Such is life\")" (%local-url)) (let ((pkg (package (inherit (dummy-package "x")) (home-page (%local-url))))) (single-lint-warning-message (check-home-page pkg))))) -(test-skip (if (http-server-can-listen?) 0 1)) -(test-equal "home-page: 301, invalid" - "invalid permanent redirect from http://localhost:9999/foo/bar" - (with-http-server `((301 ,%long-string)) +(with-http-server `((301 ,%long-string)) + (test-equal "home-page: 301, invalid" + (format #f "invalid permanent redirect from ~a" (%local-url)) (let ((pkg (package (inherit (dummy-package "x")) (home-page (%local-url))))) (single-lint-warning-message (check-home-page pkg))))) -(test-skip (if (http-server-can-listen?) 0 1)) -(test-equal "home-page: 301 -> 200" - "permanent redirect from http://localhost:10000/foo/bar to http://localhost:9999/foo/bar" - (with-http-server `((200 ,%long-string)) - (let* ((initial-url (%local-url)) - (redirect (build-response #:code 301 - #:headers - `((location - . ,(string->uri initial-url)))))) - (parameterize ((%http-server-port (+ 1 (%http-server-port)))) - (with-http-server `((,redirect "")) +(with-http-server `((200 ,%long-string)) + (let* ((initial-url (%local-url)) + (redirect (build-response #:code 301 + #:headers + `((location + . ,(string->uri initial-url)))))) + (parameterize ((%http-server-port 0)) + (with-http-server `((,redirect "")) + (test-equal "home-page: 301 -> 200" + (format #f "permanent redirect from ~a to ~a" + (%local-url) initial-url) (let ((pkg (package (inherit (dummy-package "x")) (home-page (%local-url))))) (single-lint-warning-message (check-home-page pkg)))))))) -(test-skip (if (http-server-can-listen?) 0 1)) -(test-equal "home-page: 301 -> 404" - "URI http://localhost:10000/foo/bar not reachable: 404 (\"Such is life\")" - (with-http-server '((404 "booh!")) - (let* ((initial-url (%local-url)) - (redirect (build-response #:code 301 - #:headers - `((location - . ,(string->uri initial-url)))))) - (parameterize ((%http-server-port (+ 1 (%http-server-port)))) - (with-http-server `((,redirect "")) +(with-http-server `((404 "booh!")) + (let* ((initial-url (%local-url)) + (redirect (build-response #:code 301 + #:headers + `((location + . ,(string->uri initial-url)))))) + (parameterize ((%http-server-port 0)) + (with-http-server `((,redirect "")) + (test-equal "home-page: 301 -> 404" + (format #f "URI ~a not reachable: 404 (\"Such is life\")" (%local-url)) (let ((pkg (package (inherit (dummy-package "x")) (home-page (%local-url))))) @@ -706,7 +702,6 @@ (sha256 %null-sha256)))))) (check-source-unstable-tarball pkg))) -(test-skip (if (http-server-can-listen?) 0 1)) (test-equal "source: 200" '() (with-http-server `((200 ,%long-string)) @@ -718,10 +713,10 @@ (sha256 %null-sha256)))))) (check-source pkg)))) -(test-skip (if (http-server-can-listen?) 0 1)) -(test-equal "source: 200 but short length" - "URI http://localhost:9999/foo/bar returned suspiciously small file (18 bytes)" - (with-http-server '((200 "This is too small.")) +(with-http-server '((200 "This is too small.")) + (test-equal "source: 200 but short length" + (format #f "URI ~a returned suspiciously small file (18 bytes)" + (%local-url)) (let ((pkg (package (inherit (dummy-package "x")) (source (origin @@ -733,10 +728,10 @@ (and (? lint-warning?) second-warning)) (lint-warning-message second-warning)))))) -(test-skip (if (http-server-can-listen?) 0 1)) -(test-equal "source: 404" - "URI http://localhost:9999/foo/bar not reachable: 404 (\"Such is life\")" - (with-http-server `((404 ,%long-string)) +(with-http-server `((404 ,%long-string)) + (test-equal "source: 404" + (format #f "URI ~a not reachable: 404 (\"Such is life\")" + (%local-url)) (let ((pkg (package (inherit (dummy-package "x")) (source (origin @@ -748,7 +743,6 @@ (and (? lint-warning?) second-warning)) (lint-warning-message second-warning)))))) -(test-skip (if (http-server-can-listen?) 0 1)) (test-equal "source: 404 and 200" '() (with-http-server `((404 ,%long-string)) @@ -765,17 +759,17 @@ ;; list. (check-source pkg))))))) -(test-skip (if (http-server-can-listen?) 0 1)) -(test-equal "source: 301 -> 200" - "permanent redirect from http://localhost:10000/foo/bar to http://localhost:9999/foo/bar" - (with-http-server `((200 ,%long-string)) - (let* ((initial-url (%local-url)) - (redirect (build-response #:code 301 - #:headers - `((location - . ,(string->uri initial-url)))))) - (parameterize ((%http-server-port (+ 1 (%http-server-port)))) - (with-http-server `((,redirect "")) +(with-http-server `((200 ,%long-string)) + (let* ((initial-url (%local-url)) + (redirect (build-response #:code 301 + #:headers + `((location + . ,(string->uri initial-url)))))) + (parameterize ((%http-server-port 0)) + (with-http-server `((,redirect "")) + (test-equal "source: 301 -> 200" + (format #f "permanent redirect from ~a to ~a" + (%local-url) initial-url) (let ((pkg (package (inherit (dummy-package "x")) (source (origin @@ -787,17 +781,17 @@ (and (? lint-warning?) second-warning)) (lint-warning-message second-warning))))))))) -(test-skip (if (http-server-can-listen?) 0 1)) -(test-equal "source, git-reference: 301 -> 200" - "permanent redirect from http://localhost:10000/foo/bar to http://localhost:9999/foo/bar" - (with-http-server `((200 ,%long-string)) - (let* ((initial-url (%local-url)) - (redirect (build-response #:code 301 - #:headers - `((location - . ,(string->uri initial-url)))))) - (parameterize ((%http-server-port (+ 1 (%http-server-port)))) - (with-http-server `((,redirect "")) +(with-http-server `((200 ,%long-string)) + (let* ((initial-url (%local-url)) + (redirect (build-response #:code 301 + #:headers + `((location + . ,(string->uri initial-url)))))) + (parameterize ((%http-server-port 0)) + (with-http-server `((,redirect "")) + (test-equal "source, git-reference: 301 -> 200" + (format #f "permanent redirect from ~a to ~a" + (%local-url) initial-url) (let ((pkg (dummy-package "x" (source (origin @@ -807,17 +801,17 @@ (sha256 %null-sha256)))))) (single-lint-warning-message (check-source pkg)))))))) -(test-skip (if (http-server-can-listen?) 0 1)) -(test-equal "source: 301 -> 404" - "URI http://localhost:10000/foo/bar not reachable: 404 (\"Such is life\")" - (with-http-server '((404 "booh!")) - (let* ((initial-url (%local-url)) - (redirect (build-response #:code 301 - #:headers - `((location - . ,(string->uri initial-url)))))) - (parameterize ((%http-server-port (+ 1 (%http-server-port)))) - (with-http-server `((,redirect "")) +(with-http-server '((404 "booh!")) + (let* ((initial-url (%local-url)) + (redirect (build-response #:code 301 + #:headers + `((location + . ,(string->uri initial-url)))))) + (parameterize ((%http-server-port 0)) + (with-http-server `((,redirect "")) + (test-equal "source: 301 -> 404" + (format #f "URI ~a not reachable: 404 (\"Such is life\")" + (%local-url)) (let ((pkg (package (inherit (dummy-package "x")) (source (origin @@ -847,7 +841,6 @@ (single-lint-warning-message (check-mirror-url (dummy-package "x" (source source)))))) -(test-skip (if (http-server-can-listen?) 0 1)) (test-equal "github-url" '() (with-http-server `((200 ,%long-string)) @@ -859,7 +852,6 @@ (sha256 %null-sha256))))))) (let ((github-url "https://github.com/foo/bar/bar-1.0.tar.gz")) - (test-skip (if (http-server-can-listen?) 0 1)) (test-equal "github-url: one suggestion" (string-append "URL should be '" github-url "'") @@ -873,7 +865,7 @@ #:headers `((location . ,(string->uri initial-url)))))) - (parameterize ((%http-server-port (+ 1 (%http-server-port)))) + (parameterize ((%http-server-port 0)) (with-http-server `((,redirect "")) (single-lint-warning-message (check-github-url @@ -883,7 +875,6 @@ (uri (%local-url)) (sha256 %null-sha256)))))))))))) - (test-skip (if (http-server-can-listen?) 0 1)) (test-equal "github-url: already the correct github url" '() (check-github-url @@ -1007,7 +998,6 @@ '() (check-formatting (dummy-package "x"))) -(test-skip (if (http-server-can-listen?) 0 1)) (test-assert "archival: missing content" (let* ((origin (origin (method url-fetch) @@ -1019,7 +1009,6 @@ (source origin))))))) (warning-contains? "not archived" warnings))) -(test-skip (if (http-server-can-listen?) 0 1)) (test-equal "archival: content available" '() (let* ((origin (origin @@ -1033,7 +1022,6 @@ (parameterize ((%swh-base-url (%local-url))) (check-archival (dummy-package "x" (source origin))))))) -(test-skip (if (http-server-can-listen?) 0 1)) (test-assert "archival: missing revision" (let* ((origin (origin (method git-fetch) @@ -1053,7 +1041,6 @@ (check-archival (dummy-package "x" (source origin))))))) (warning-contains? "scheduled" warnings))) -(test-skip (if (http-server-can-listen?) 0 1)) (test-equal "archival: revision available" '() (let* ((origin (origin @@ -1069,7 +1056,6 @@ (parameterize ((%swh-base-url (%local-url))) (check-archival (dummy-package "x" (source origin))))))) -(test-skip (if (http-server-can-listen?) 0 1)) (test-assert "archival: rate limit reached" ;; We should get a single warning stating that the rate limit was reached, ;; and nothing more, in particular no other HTTP requests. @@ -1091,7 +1077,6 @@ (string-contains (single-lint-warning-message warnings) "rate limit reached"))) -(test-skip (if (http-server-can-listen?) 0 1)) (test-assert "haskell-stackage" (let* ((stackage (string-append "{ \"packages\": [{" " \"name\":\"x\"," diff --git a/tests/texlive.scm b/tests/texlive.scm index f7e5515c4c..a6f08046a8 100644 --- a/tests/texlive.scm +++ b/tests/texlive.scm @@ -69,9 +69,6 @@ (keyval (@ (value "tests") (key "topic"))) "\n null\n"))) -;; Avoid collisions with other tests. -(%http-server-port 10200) - (test-equal "fetch-sxml: returns SXML for valid XML" sxml (with-http-server `((200 ,xml)) From 634dacd27a6084ea42cb207010c358106aa41fe4 Mon Sep 17 00:00:00 2001 From: Alexandros Theodotou Date: Sun, 21 Feb 2021 10:14:45 +0000 Subject: [PATCH 0019/1003] gnu: Add fluida-lv2. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/music.scm (fluida-lv2): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/music.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 40780ab6f1..6f94b7572a 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1035,6 +1035,45 @@ are helpful when working in problem spaces where timing is important (such as audio and video).") (license license:bsd-2))) +(define-public fluida-lv2 + (package + (name "fluida-lv2") + (version "0.6") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/brummer10/Fluida.lv2") + (commit (string-append "v" version)) + (recursive? #t))) ; references specific commit of libxputty + (file-name (git-file-name name version)) + (sha256 + (base32 + "1v0bh4wcx79y832qigc3my8ixq0r4ica6z5fg2rg946pkh20x1a2")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no "check" target + #:make-flags + (list (string-append "INSTALL_DIR=" + (assoc-ref %outputs "out") "/lib/lv2") + "CC=gcc") + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (inputs + `(("cairo" ,cairo) + ("libx11" ,libx11) + ("lv2" ,lv2) + ("fluidsynth" ,fluidsynth))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/brummer10/Fluida.lv2") + (synopsis "Fluidsynth as an LV2 audio plugin") + (description "Fluida is an audio plugin in the LV2 format that acts as +a frontend for fluidsynth.") + (license license:gpl2+))) + (define-public surge-synth (package (name "surge-synth") From 60d1df78ad26cf9ee01b5929d2e8c0fafeb5a0c1 Mon Sep 17 00:00:00 2001 From: Alexandros Theodotou Date: Thu, 25 Feb 2021 23:57:15 +0000 Subject: [PATCH 0020/1003] licenses: Add Zero-Clause BSD License. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/licenses.scm (bsd-0): New variable. Signed-off-by: Ludovic Courtès --- guix/import/utils.scm | 1 + guix/licenses.scm | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 2f5ccf7cea..64d1385164 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -136,6 +136,7 @@ of the string VERSION is replaced by the symbol 'version." ("Apache-1.1" 'license:asl1.1) ("Apache-2.0" 'license:asl2.0) ("BSL-1.0" 'license:boost1.0) + ("0BSD" 'license:bsd-0) ("BSD-2-Clause-FreeBSD" 'license:bsd-2) ("BSD-3-Clause" 'license:bsd-3) ("BSD-4-Clause" 'license:bsd-4) diff --git a/guix/licenses.scm b/guix/licenses.scm index 1091eee67c..0a36067387 100644 --- a/guix/licenses.scm +++ b/guix/licenses.scm @@ -39,7 +39,7 @@ apsl2 asl1.1 asl2.0 boost1.0 - bsd-2 bsd-3 bsd-4 + bsd-0 bsd-2 bsd-3 bsd-4 non-copyleft cc0 cc-by2.0 cc-by3.0 cc-by4.0 @@ -159,6 +159,11 @@ "http://directory.fsf.org/wiki/License:Boost1.0" "https://www.gnu.org/licenses/license-list#boost")) +(define bsd-0 + (license "Zero-Clause BSD" + "https://spdx.org/licenses/0BSD.html" + "https://opensource.org/licenses/0BSD")) + (define bsd-2 (license "FreeBSD" "http://directory.fsf.org/wiki/License:FreeBSD" From cdc688c5ee106b7ee2547e4abd74ab81d7702d3d Mon Sep 17 00:00:00 2001 From: Alexandros Theodotou Date: Thu, 25 Feb 2021 23:59:19 +0000 Subject: [PATCH 0021/1003] gnu: Add mamba. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/music.scm (mamba): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/music.scm | 47 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 6f94b7572a..9c809154f1 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2019 Jakob L. Kreuze ;;; Copyright © 2019 raingloom ;;; Copyright © 2019 David Wilson -;;; Copyright © 2019, 2020 Alexandros Theodotou +;;; Copyright © 2019, 2020, 2021 Alexandros Theodotou ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2020 Lars-Dominik Braun ;;; Copyright © 2020 Giacomo Leidi @@ -5864,6 +5864,51 @@ It can also play and mix samples.") (home-page "https://gitlab.com/iurie-sw/geonkick") (license license:gpl3+))) +(define-public mamba + (package + (name "mamba") + (version "2.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/brummer10/Mamba") + (commit (string-append "v" version)) + (recursive? #t))) ; references specific commit of libxputty + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bq6sqsij3cdwcsj3wpsnivi4c7jl4l5gwfywhqnib70v60smdja")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no "check" target + #:make-flags + (list (string-append "PREFIX=" + (assoc-ref %outputs "out")) + "CC=gcc") + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("cairo" ,cairo) + ("fluidsynth" ,fluidsynth) + ("jack" ,jack-1) + ("liblo" ,liblo) + ("libsigc++" ,libsigc++) + ("libsmf" ,libsmf) + ("libx11" ,libx11))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/brummer10/Mamba") + (synopsis "Virtual MIDI keyboard and MIDI file player/recorder for JACK") + (description "Mamba is a virtual MIDI keyboard and MIDI file +player/recorder for the JACK Audio Connection Kit. It comes with predefined +keymaps for QWERTZ, QWERTY and AZERTY keyboards and also allows custom +ones.") + (license license:bsd-0))) + (define-public dpf-plugins (package (name "dpf-plugins") From 5dc130c465c9e0f8c000ded874c9220a97f9bcc4 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Fri, 5 Mar 2021 01:50:55 -0300 Subject: [PATCH 0022/1003] gnu: gmic: Update to 2.9.6. * gnu/packages/image-processing.scm (gmic): Update to 2.9.6. Signed-off-by: Nicolas Goaziou --- gnu/packages/image-processing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index c3ea8491d9..0b5c792b56 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2018 Lprndn ;;; Copyright © 2019, 2021 Efraim Flashner ;;; Copyright © 2020 Vincent Legoll -;;; Copyright © 2020 Vinicius Monego +;;; Copyright © 2020, 2021 Vinicius Monego ;;; Copyright © 2020 Pierre Neidhardt ;;; Copyright © 2020 Brendan Tildesley ;;; Copyright © 2021 Oleh Malyi @@ -603,14 +603,14 @@ due to its architecture which automatically parallelises the image workflows.") (define-public gmic (package (name "gmic") - (version "2.9.2") + (version "2.9.6") (source (origin (method url-fetch) (uri (string-append "https://gmic.eu/files/source/gmic_" version ".tar.gz")) (sha256 - (base32 "14acph914a8lp6qqfmp319ggqjg3i3hmalmnpk3mp07m7vpv2p9q")))) + (base32 "06n1dcskky7aqg3a0cp7biwz8agc4xqvr8091l2wsvgib98yhbyj")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;there are no tests From 75862a9ea7b8902aebe739c784dcbcc82ee4fbf1 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Fri, 5 Mar 2021 01:53:36 -0300 Subject: [PATCH 0023/1003] gnu: gmic: Disable static libraries and enable LTO. * gnu/packages/image-processing.scm (gmic)[arguments]: Pass "-DBUILD_LIB_STATIC=OFF", "-DENABLE_DYNAMIC_LINKING=ON" and "-DENABLE_LTO=ON" to #:configure-flags. Add phase to set LDFLAGS. Signed-off-by: Nicolas Goaziou --- gnu/packages/image-processing.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 0b5c792b56..81b90d87ec 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -613,7 +613,18 @@ due to its architecture which automatically parallelises the image workflows.") (base32 "06n1dcskky7aqg3a0cp7biwz8agc4xqvr8091l2wsvgib98yhbyj")))) (build-system cmake-build-system) (arguments - `(#:tests? #f)) ;there are no tests + `(#:tests? #f ;there are no tests + #:configure-flags '("-DBUILD_LIB_STATIC=OFF" + "-DENABLE_DYNAMIC_LINKING=ON" + "-DENABLE_LTO=ON") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'set-LDFLAGS + (lambda* (#:key inputs outputs #:allow-other-keys) + (setenv "LDFLAGS" + (string-append + "-Wl,-rpath=" + (assoc-ref outputs "out") "/lib"))))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs From f23ba5d9af8a4aacfa721491df2ce100d4a39889 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Fri, 5 Mar 2021 02:14:16 -0300 Subject: [PATCH 0024/1003] gnu: Add gmic-qt. * gnu/packages/image-processing.scm (gmic-qt): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/image-processing.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 81b90d87ec..034918f52f 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -648,6 +648,30 @@ including 2D color images.") ;; Dual-licensed, either license applies. (license (list license:cecill license:cecill-c)))) +(define-public gmic-qt + (package + (inherit gmic) + (name "gmic-qt") + (arguments + (substitute-keyword-arguments (package-arguments gmic) + ((#:configure-flags _) + `(list "-DGMIC_QT_HOST=none" "-DENABLE_DYNAMIC_LINKING=ON" + (string-append "-DGMIC_LIB_PATH=" + (assoc-ref %build-inputs "gmic") "/lib"))) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'qt-chdir + (lambda _ (chdir "gmic-qt") #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools))) + (inputs + `(("gmic" ,gmic) + ("qtbase" ,qtbase) + ,@(package-inputs gmic))) + (synopsis "Qt frontend for the G'MIC image processing framework") + (license license:gpl3+))) + (define-public nip2 (package (name "nip2") From 78e99ae6ce1e60f3e65c05334df26e3fe7e5006f Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Fri, 5 Mar 2021 02:43:33 -0300 Subject: [PATCH 0025/1003] gnu: Add gmic-qt-krita. * gnu/packages/image-processing.scm (gmic-qt-krita): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/image-processing.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 034918f52f..5dfd18d1bd 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -672,6 +672,18 @@ including 2D color images.") (synopsis "Qt frontend for the G'MIC image processing framework") (license license:gpl3+))) +(define-public gmic-qt-krita + (package + (inherit gmic-qt) + (name "gmic-qt-krita") + (arguments + (substitute-keyword-arguments (package-arguments gmic-qt) + ((#:configure-flags flags) + '(list "-DGMIC_QT_HOST=krita" "-DENABLE_DYNAMIC_LINKING=ON" + (string-append "-DGMIC_LIB_PATH=" + (assoc-ref %build-inputs "gmic") "/lib"))))) + (synopsis "Krita plugin for the G'MIC image processing framework"))) + (define-public nip2 (package (name "nip2") From 1463e9504b116ea0874a0643a6dd23c957f3e506 Mon Sep 17 00:00:00 2001 From: Benoit Joly Date: Sat, 6 Mar 2021 14:25:24 +0100 Subject: [PATCH 0026/1003] gnu: qutebrowser: Update to 2.0.2. * gnu/packages/web-browsers.scm (qutebrowser): Update to 2.0.2. [inputs]: Add python-importlib-resources. Signed-off-by: Nicolas Goaziou --- gnu/packages/web-browsers.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 5a83a4ef95..4e78c7555d 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2020 Nicolò Balzarotti ;;; Copyright © 2020 Alexandru-Sergiu Marton ;;; Copyright © 2021 Cage +;;; Copyright © 2021 Benoit Joly ;;; ;;; This file is part of GNU Guix. ;;; @@ -477,7 +478,7 @@ interface.") (define-public qutebrowser (package (name "qutebrowser") - (version "1.14.1") + (version "2.0.2") (source (origin (method url-fetch) @@ -485,13 +486,14 @@ interface.") "qutebrowser/releases/download/v" version "/" "qutebrowser-" version ".tar.gz")) (sha256 - (base32 "15l7jphy1qjsh6y6kd5mgkxsl6ymm9564g1yypa946jbyrgi8k2m")))) + (base32 "0fxkazz4ykmkiww27l92yr96hq00qn5vvjmknxcy4cl97d2pxa28")))) (build-system python-build-system) (native-inputs `(("python-attrs" ,python-attrs))) ; for tests (inputs `(("python-colorama" ,python-colorama) ("python-cssutils" ,python-cssutils) + ("python-importlib-resources" ,python-importlib-resources) ("python-jinja2" ,python-jinja2) ("python-markupsafe" ,python-markupsafe) ("python-pygments" ,python-pygments) From 0e36ea23374d432f7b74607ae39f717b1f4b2aa9 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Sat, 13 Feb 2021 21:18:18 +0000 Subject: [PATCH 0027/1003] gnu: Add itcl * gnu/pacages/tcl.scm (itcl): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/tcl.scm | 50 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index f17e138bdb..709b3dd603 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -95,6 +95,56 @@ (description "The Tcl (Tool Command Language) scripting language.") (license license:tcl/tk))) +(define-public itcl + (package + (name "itcl") + (version "4.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/incrtcl/%5Bincr%20Tcl_Tk%5D-4-source/itcl%20" + version "/itcl" version ".tar.gz")) + (file-name (string-append "incrtcl-" version ".tar.gz")) + (sha256 + (base32 "0w28v0zaraxcq1s9pa6cihqqwqvvwfgz275lks7w4gl7hxjxmasw")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list + (string-append + "--exec-prefix=" (assoc-ref %outputs "out")) + (string-append + "--with-tclinclude=" (assoc-ref %build-inputs "tcl") "/include") + (string-append + "--with-tcl=" (assoc-ref %build-inputs "tcl") "/lib")) + #:test-target "test" + #:phases + (modify-phases %standard-phases + (add-after 'install 'cleanup-bin-and-lib + (lambda* (#:key outputs #:allow-other-keys) + ;; NOTE: (Sharlatan-20210213T204336+0000): libraries appearer in + ;; "out/lib/itcl{{version}}" and there are no binaries, some extra + ;; rename and remove spells are to be applied. + (let ((out (assoc-ref outputs "out"))) + (rmdir + (string-append out "/bin")) + (rename-file + (string-append out "/lib/itcl" ,version) (string-append out "/libtmp")) + (rename-file + (string-append out "/libtmp") (string-append out "/lib"))) + #t))))) + (native-inputs + `(("tcl" ,tcl))) + (inputs + `(("tcllib" ,tcllib))) + (home-page "http://incrtcl.sourceforge.net/") + (synopsis "Object Oriented programming (OOP) extension for Tcl") + (description + "[incr Tcl] is a widely used object-oriented system for Tcl. The name is +a play on C++, and [incr Tcl] provides a similar object model, including +multiple inheritence and public and private classes and variables.") + (license license:public-domain))) (define-public expect (package From e0625728125a21b410368eaae68c6fdf2710e11c Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 6 Mar 2021 16:01:24 +0100 Subject: [PATCH 0028/1003] gnu: seqan: Use HTTPS home page URI. * gnu/packages/bioinformatics.scm (seqan)[home-page]: Use HTTPS URI. --- gnu/packages/bioinformatics.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 6d21e14360..9fc5cf8ecc 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -6608,7 +6608,7 @@ writing files into the .sra format.") `(("source" ,source) ("tar" ,tar) ("xz" ,xz))) - (home-page "http://www.seqan.de") + (home-page "https://www.seqan.de") (synopsis "Library for nucleotide sequence analysis") (description "SeqAn is a C++ library of efficient algorithms and data structures for From ea8e89292c2d8ad91de5adbc319d3d66545fb59c Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 6 Mar 2021 16:05:44 +0100 Subject: [PATCH 0029/1003] gnu: seqan-1: Use HTTPS source URI. * gnu/packages/bioinformatics.scm (seqan-1)[source]: Use HTTPS URI. --- gnu/packages/bioinformatics.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 9fc5cf8ecc..be07bd18a3 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -6624,7 +6624,7 @@ bioinformatics file formats, sequence alignment, and more.") (version "1.4.2") (source (origin (method url-fetch) - (uri (string-append "http://packages.seqan.de/seqan-library/" + (uri (string-append "https://packages.seqan.de/seqan-library/" "seqan-library-" version ".tar.bz2")) (sha256 (base32 From d12d52cef8a0395603084534bd762189e0dc4f54 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 6 Mar 2021 16:07:30 +0100 Subject: [PATCH 0030/1003] gnu: ne: Use HTTPS home page URI. * gnu/packages/text-editors.scm (ne)[home-page]: Use HTTPS URI. --- gnu/packages/text-editors.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 89fe797f36..59286ce033 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -1047,7 +1047,7 @@ card. It offers: (substitute* "src/makefile" (("-lcurses") "-lncurses")) #t))))) - (home-page "http://ne.di.unimi.it/") + (home-page "https://ne.di.unimi.it/") (synopsis "Text editor with menu bar") (description "This package provides a modeless text editor with menu bar. It supports syntax highlighting, regular expressions, configurable menus, From 40f262a5a40bf831179cb06ef7f08b842a4b121a Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 6 Mar 2021 16:08:46 +0100 Subject: [PATCH 0031/1003] gnu: rust-servo-freetype-sys-4: Use HTTPS home page URI. * gnu/packages/crates-io.scm (rust-servo-freetype-sys-4)[home-page]: Use HTTPS URI. --- gnu/packages/crates-io.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index dc427ba764..1b478ec600 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -36866,7 +36866,7 @@ functionality and without weak references.") `(("pkg-config" ,pkg-config))) (inputs `(("freetype" ,freetype))) - (home-page "http://www.freetype.org/") + (home-page "https://www.freetype.org/") (synopsis "Rust wrapper around freetype") (description "This package provides a Rust wrapper around the FreeType library.") From a9a9c632afec38d7ea8921cf60d3598b88b21f2b Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 6 Mar 2021 16:12:15 +0100 Subject: [PATCH 0032/1003] gnu: r-xml: Fix home-page URI. * gnu/packages/statistics.scm (r-xml)[home-page]: Fix URI. --- gnu/packages/statistics.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index c5cb7c0961..daea57e290 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2930,7 +2930,7 @@ ldap, and also supports cookies, redirects, authentication, etc.") ("zlib" ,zlib))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.omegahat.org/RSXML") + (home-page "http://www.omegahat.net/RSXML") (synopsis "Tools for parsing and generating XML within R") (description "Many approaches for both reading and creating XML (and HTML) From df45894df3df575ecee7ea93d467acb3e242f876 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 6 Mar 2021 16:13:28 +0100 Subject: [PATCH 0033/1003] gnu: r-rcurl: Fix home page URI. * gnu/packages/statistics.scm (r-rcurl)[home-page]: Fix URI. --- gnu/packages/statistics.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index daea57e290..ac8b4e959e 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2899,7 +2899,7 @@ if (certs != \"\") { .opts = merge.list(.opts, list(cainfo=certs)) } `(("libcurl" ,curl))) (propagated-inputs `(("r-bitops" ,r-bitops))) - (home-page "http://www.omegahat.org/RCurl") + (home-page "http://www.omegahat.net/RCurl") (synopsis "General network client interface for R") (description "The package allows one to compose general HTTP requests and provides From ade77dd0d3fec4950e89bbb59c69a5f1fe668c38 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 12:37:04 +0100 Subject: [PATCH 0034/1003] gnu: Fix input typoes. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/crates-io.scm (rust-nettle-sys-2)[inputs]: Move ‘,’ to its operand. * gnu/packages/docbook.scm (docbook-dsssl)[native-inputs]: Likewise. (docbook-dsssl-doc)[native-inputs]: Likewise. * gnu/packages/emacs-xyz.scm (emacs-helm-slack)[propagated-inputs]: Likewise. * gnu/packages/kde-multimedia.scm (audiocd-kio)[inputs]: Likewise. * gnu/packages/kde-pim.scm (akonadi-mime, kalarmcal, kcalendarsupport) (keventviews, kmailtransport, kpimtextedit)[inputs]: Likewise. * gnu/packages/mpd.scm (cantata)[inputs]: Likewise. * gnu/packages/raspberry-pi.scm (bcm2835): Likewise. * gnu/packages/samba.scm (samba)[native-inputs]: Likewise. * gnu/packages/xdisorg.scm (dex)[inputs]: Likewise. --- gnu/packages/crates-io.scm | 2 +- gnu/packages/docbook.scm | 4 ++-- gnu/packages/emacs-xyz.scm | 2 +- gnu/packages/kde-multimedia.scm | 2 +- gnu/packages/kde-pim.scm | 12 ++++++------ gnu/packages/mpd.scm | 2 +- gnu/packages/raspberry-pi.scm | 2 +- gnu/packages/samba.scm | 4 ++-- gnu/packages/xdisorg.scm | 2 +- 9 files changed, 16 insertions(+), 16 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 1b478ec600..abe4a937e5 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -24294,7 +24294,7 @@ cryptographic library.") `(("clang" ,clang) ("pkg-config" ,pkg-config))) (inputs - `(("nettle", nettle))) + `(("nettle" ,nettle))) (arguments `(#:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.51) diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 889bb96010..012e86f6a5 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -249,7 +249,7 @@ by no means limited to these applications.) This package provides XML DTDs.") (inputs `(("docbook-dsssl-doc" ,docbook-dsssl-doc))) (native-inputs - `(("bzip2", bzip2) + `(("bzip2" ,bzip2) ("tar" ,tar))) (home-page "https://docbook.org/") (synopsis "DSSSL style sheets for DocBook") @@ -287,7 +287,7 @@ by no means limited to these applications.) This package provides XML DTDs.") "--no-same-owner" "-C" docdir (string-append "docbook-dsssl-" ,version "/doc")))))) (native-inputs - `(("bzip2", bzip2) + `(("bzip2" ,bzip2) ("tar" ,tar))) (home-page "https://docbook.org/") (synopsis "DocBook DSSSL style sheets documentation") diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index ad4a3e254b..e1726731b3 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -14120,7 +14120,7 @@ messaging service.") ;; HOME needs to exist for source compilation. (add-before 'build 'set-HOME (lambda _ (setenv "HOME" "/tmp") #t))))) - (propagated-inputs `(("emacs-slack", emacs-slack))) + (propagated-inputs `(("emacs-slack" ,emacs-slack))) (home-page "https://github.com/yuya373/helm-slack") (synopsis "Helm extension for emacs-slack") (description "This package provides an helm extension for emacs-slack diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm index cb8cc74d33..35058363d3 100644 --- a/gnu/packages/kde-multimedia.scm +++ b/gnu/packages/kde-multimedia.scm @@ -68,7 +68,7 @@ ("ki18n" ,ki18n) ("kio" ,kio) ("libkcddb" ,libkcddb) - ("libkcompactdisc", libkcompactdisc) + ("libkcompactdisc" ,libkcompactdisc) ("libvorbis" ,libvorbis) ("phonon" ,phonon) ("qtbase" ,qtbase))) diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm index e055f9a9fd..d790e94c87 100644 --- a/gnu/packages/kde-pim.scm +++ b/gnu/packages/kde-pim.scm @@ -229,7 +229,7 @@ to list and filter contacts.") ("shared-mime-info" ,shared-mime-info))) (inputs `(("akonadi" ,akonadi) - ("boost", boost) + ("boost" ,boost) ("kcodecs" ,kcodecs) ("kconfig" ,kconfig) ("kconfigwidgets" ,kconfigwidgets) @@ -469,7 +469,7 @@ CalDAV server.") (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) (inputs - `(("akonadi", akonadi) + `(("akonadi" ,akonadi) ("boost" ,boost) ("kcalendarcore" ,kcalendarcore) ("kcalutils" ,kcalutils) @@ -551,7 +551,7 @@ one of the APIs mentioned above.") ("akonadi-mime" ,akonadi-mime) ("boost" ,boost) ("kcalendarcore" ,kcalendarcore) - ("kcalutils", kcalutils) + ("kcalutils" ,kcalutils) ("kcompletion" ,kcompletion) ("kdbusaddons" ,kdbusaddons) ("kdepim-apps-libs" ,kdepim-apps-libs) @@ -796,7 +796,7 @@ package.") ("kcalendarcore" ,kcalendarcore) ("kcalendarsupport" ,kcalendarsupport) ("kcalutils" ,kcalutils) - ("kcodecs", kcodecs) + ("kcodecs" ,kcodecs) ("kcompletion" ,kcompletion) ("kconfigwidgets" ,kconfigwidgets) ("kcontacts" ,kcontacts) @@ -1252,7 +1252,7 @@ e-mail client programs into KMail and KDE PIM.") ("kdbusaddons" ,kdbusaddons) ("kconfigwidgets" ,kconfigwidgets) ("ki18n" ,ki18n) - ("kitemmodels", kitemmodels) + ("kitemmodels" ,kitemmodels) ("kio" ,kio) ("kmime" ,kmime) ("ksmtp" ,ksmtp) @@ -1737,7 +1737,7 @@ Virtual Contact File}) files to the KPeople contact management library.") ("kwidgetsaddons" ,kwidgetsaddons) ("kxmlgui" ,kxmlgui) ("qtbase" ,qtbase) - ("qtspeech", qtspeech) + ("qtspeech" ,qtspeech) ("sonnet" ,sonnet))) (arguments `(#:tests? #f)) ;; TODO - test suite hangs diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index a8959b2f66..2f32364ad8 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -444,7 +444,7 @@ support") (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("eudev", eudev) + `(("eudev" ,eudev) ("ffmpeg" ,ffmpeg) ("libcdio-paranoia" ,libcdio-paranoia) ("libebur128" ,libebur128) diff --git a/gnu/packages/raspberry-pi.scm b/gnu/packages/raspberry-pi.scm index cdea392fc7..bb38b8b218 100644 --- a/gnu/packages/raspberry-pi.scm +++ b/gnu/packages/raspberry-pi.scm @@ -59,7 +59,7 @@ `(#:tests? #f)) ; Would need to be root ;; doc/html docs would not be installed anyway. ;(native-inputs - ; `(("doxygen", doxygen))) + ; `(("doxygen" ,doxygen))) (synopsis "C library for Broadcom BCM 2835 as used in Raspberry Pi") (description "This package provides a C library for Broadcom BCM 2835 as used in the Raspberry Pi") diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index f0b74c8d40..5f14768b87 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -236,7 +236,7 @@ external dependencies.") ("cmocka" ,cmocka) ("cups" ,cups) ("gamin" ,gamin) - ("dbus", dbus) + ("dbus" ,dbus) ("gpgme" ,gpgme) ("gnutls" ,gnutls) ("heimdal" ,heimdal) @@ -265,7 +265,7 @@ external dependencies.") ("docbook-xml" ,docbook-xml-4.2) ("docbook-xsl" ,docbook-xsl) ("xsltproc" ,libxslt) - ("libxml2", libxml2))) ;for XML_CATALOG_FILES + ("libxml2" ,libxml2))) ;for XML_CATALOG_FILES (home-page "https://www.samba.org/") (synopsis "The standard Windows interoperability suite of programs for GNU and Unix") diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 9d139db68c..2e09be525f 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -2708,7 +2708,7 @@ such as sway, similar to @command{rofi}.") (delete 'configure)) #:tests? #f)) (inputs - `(("python", python))) + `(("python" ,python))) (native-inputs `(("python-sphinx" ,python-sphinx))) (home-page "https://github.com/jceb/dex") From 39546742451d98e22471794e2d938857584173e4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 12:51:18 +0100 Subject: [PATCH 0035/1003] gnu: chroma: Update to 1.18. * gnu/packages/games.scm (chroma): Update to 1.18. --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 20a22ee574..2f48a9fb75 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -6313,14 +6313,14 @@ with the mouse isn’t always trivial.") (define-public chroma (package (name "chroma") - (version "1.17") + (version "1.18") (source (origin (method url-fetch) (uri (string-append "http://level7.org.uk/chroma/download/chroma-" version ".tar.bz2")) (sha256 (base32 - "047sf00x71xbmi8bqrhfbmr9bk89l2gbykkqsfpw4wz6yfjscs6y")))) + "12bjisf5nlqinw8n4r223vld52p0p2mw3fca92vi175c46bycbzn")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests included From cfcf9dea39fe745bebeee070b59e1a4d4b6b4f57 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 16:00:04 +0100 Subject: [PATCH 0036/1003] =?UTF-8?q?Use=20=E2=80=98license:=E2=80=99=20#:?= =?UTF-8?q?prefix=20in=20(gnu=20packages=20language).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/language.scm: Import (guix licenses) with a ‘license:’ #:prefix. Adjust all references. --- gnu/packages/language.scm | 104 ++++++++++++++++++-------------------- 1 file changed, 49 insertions(+), 55 deletions(-) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 651b2305c9..576a1c14ab 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -61,9 +61,7 @@ #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system qt) - #:use-module ((guix licenses) - #:select - (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+)) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils)) @@ -198,7 +196,7 @@ framework. This package provides a fork of the original nimf project, that focusses especially on Korean input (Hangul, Hanja, ...).") (home-page "https://github.com/hamonikr/nimf/") - (license lgpl3+))) + (license license:lgpl3+))) (define-public hime (package @@ -262,12 +260,8 @@ is lightweight, stable, powerful and supports many commonly used input methods, including Cangjie, Zhuyin, Dayi, Ranked, Shrimp, Greek, Anthy, Korean, Latin, Random Cage Fighting Birds, Cool Music etc.") (home-page "http://hime-ime.github.io/") - (license - (list - gpl2+ - lgpl2.1+ - ;; Documentation - fdl1.2+)))) + (license (list license:gpl2+ license:lgpl2.1+ + license:fdl1.2+)))) ; documentation (define-public libchewing (package @@ -328,7 +322,7 @@ Random Cage Fighting Birds, Cool Music etc.") (description "Chewing is an intelligent phonetic (Zhuyin/Bopomofo) input method, one of the most popular choices for Traditional Chinese users.") (home-page "http://chewing.im/") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public liblouis (package @@ -380,8 +374,8 @@ support a rule- or dictionary based approach. Tools for testing and debugging tables are also included. Liblouis also supports math braille, Nemeth and Marburg.") (home-page "http://liblouis.org/") - (license (list lgpl2.1+ ; library - gpl3+)))) ; tools + (license (list license:lgpl2.1+ ; library + license:gpl3+)))) ; tools (define-public liblouisutdml (package @@ -421,8 +415,8 @@ transcription services for xml, html and text documents. It translates into appropriate braille codes and formats according to its style sheet and the specifications in the document.") (home-page "http://liblouis.org/") - (license (list lgpl3+ ; library - gpl3+)))) ; tools + (license (list license:lgpl3+ ; library + license:gpl3+)))) ; tools (define-public libstemmer (package @@ -459,7 +453,7 @@ specifications in the document.") (description "LibStemmer provides stemming library, supporting several languages.") (home-page "https://snowballstem.org/") - (license bsd-3))) + (license license:bsd-3))) (define-public perl-lingua-en-findnumber (package @@ -481,7 +475,7 @@ languages.") (description "This module provides a regular expression for finding numbers in English text. It also provides functions for extracting and manipulating such numbers.") - (license perl-license))) + (license license:perl-license))) (define-public perl-lingua-en-inflect (package @@ -504,7 +498,7 @@ manipulating such numbers.") words. Plural forms of all nouns, most verbs, and some adjectives are provided. Where appropriate, \"classical\" variants (for example: \"brother\" -> \"brethren\", \"dogma\" -> \"dogmata\", etc.) are also provided.") - (license perl-license))) + (license license:perl-license))) (define-public perl-lingua-en-inflect-number (package @@ -526,7 +520,7 @@ provided. Where appropriate, \"classical\" variants (for example: \"brother\" (description "This module extends the functionality of Lingua::EN::Inflect with three new functions for determining plurality of a word and forcefully converting a word to singular or plural.") - (license perl-license))) + (license license:perl-license))) (define-public perl-lingua-en-inflect-phrase (package @@ -553,7 +547,7 @@ converting a word to singular or plural.") (synopsis "Inflect short English phrases") (description "This module attempts to pluralize or singularize short English phrases.") - (license perl-license))) + (license license:perl-license))) (define-public perl-lingua-en-number-isordinal (package @@ -577,7 +571,7 @@ English phrases.") (synopsis "Detect if English number is ordinal or cardinal") (description "This module will tell you if a number, either in words or as digits, is a cardinal or ordinal number.") - (license perl-license))) + (license license:perl-license))) (define-public perl-lingua-en-tagger (package @@ -607,7 +601,7 @@ appropriate tag for the current word. Unknown words are classified according to word morphology or can be set to be treated as nouns or other parts of speech. The tagger also extracts as many nouns and noun phrases as it can, using a set of regular expressions.") - (license gpl3))) + (license license:gpl3))) (define-public perl-lingua-en-words2nums (package @@ -626,7 +620,7 @@ using a set of regular expressions.") (synopsis "Convert English text to numbers") (description "This module converts English text into numbers. It supports both ordinal and cardinal numbers, negative numbers, and very large numbers.") - (license perl-license))) + (license license:perl-license))) (define-public perl-lingua-pt-stemmer (package @@ -646,7 +640,7 @@ both ordinal and cardinal numbers, negative numbers, and very large numbers.") (description "This module implements a Portuguese stemming algorithm proposed in the paper A Stemming Algorithm for the Portuguese Language by Moreira, V. and Huyck, C.") - (license perl-license))) + (license license:perl-license))) (define-public perl-lingua-stem (package @@ -676,7 +670,7 @@ Moreira, V. and Huyck, C.") (synopsis "Stemming of words in various languages") (description "This routine applies stemming algorithms to its parameters, returning the stemmed words as appropriate to the selected locale.") - (license perl-license))) + (license license:perl-license))) (define-public perl-lingua-stem-fr (package @@ -695,7 +689,7 @@ returning the stemmed words as appropriate to the selected locale.") (synopsis "Porter's stemming algorithm for French") (description "This module uses a modified version of the Porter Stemming Algorithm to return a stemmed French word.") - (license perl-license))) + (license license:perl-license))) (define-public perl-lingua-stem-it (package @@ -714,7 +708,7 @@ Algorithm to return a stemmed French word.") (synopsis "Porter's stemming algorithm for Italian") (description "This module applies the Porter Stemming Algorithm to its parameters, returning the stemmed Italian word.") - (license perl-license))) + (license license:perl-license))) (define-public perl-lingua-stem-ru (package @@ -733,7 +727,7 @@ parameters, returning the stemmed Italian word.") (synopsis "Porter's stemming algorithm for Russian") (description "This module applies the Porter Stemming Algorithm to its parameters, returning the stemmed Russian (KOI8-R only) word.") - (license perl-license))) + (license license:perl-license))) (define-public perl-lingua-stem-snowball-da (package @@ -753,7 +747,7 @@ parameters, returning the stemmed Russian (KOI8-R only) word.") (description "Lingua::Stem::Snowball::Da is a perl port of the danish stemmer at http://snowball.sourceforge.net, it was originally altered from the Lingua::Stem::Snowball::Se.") - (license gpl2))) + (license license:gpl2))) (define-public perl-snowball-norwegian (package @@ -773,7 +767,7 @@ Lingua::Stem::Snowball::Se.") (synopsis "Porters stemming algorithm for Norwegian") (description "Lingua::Stem::Snowball::No is a perl port of the norwegian stemmer at http://snowball.tartarus.org.") - (license perl-license))) + (license license:perl-license))) (define-public perl-snowball-swedish (package @@ -793,7 +787,7 @@ stemmer at http://snowball.tartarus.org.") (synopsis "Porters stemming algorithm for Swedish") (description "Lingua::Stem::Snowball::Se is a perl port of the swedish stemmer at http://snowball.sourceforge.net.") - (license perl-license))) + (license license:perl-license))) (define-public perl-string-toidentifier-en (package @@ -819,7 +813,7 @@ converting an arbitrary string into a readable representation using the ASCII subset of \"\\w\" for use as an identifier in a computer program. The intent is to make unique identifier names from which the content of the original string can be easily inferred by a human just by reading the identifier.") - (license perl-license))) + (license license:perl-license))) (define-public perl-text-german (package @@ -838,7 +832,7 @@ string can be easily inferred by a human just by reading the identifier.") (synopsis "German grundform reduction") (description "This module is a rather incomplete implementation of work done by Gudrun Putze-Meier.") - (license perl-license))) + (license license:perl-license))) (define* (tegaki-release-uri proj version #:optional (ext "tar.gz")) @@ -905,7 +899,7 @@ extensions in EXTS." modern implementation of handwriting recognition software, specifically designed for Chinese (simplified and traditional) and Japanese, and that is suitable for both the desktop and mobile devices.") - (license gpl2+))) ; all files + (license license:gpl2+))) ; all files (define-public python2-tegaki-python (package @@ -950,9 +944,9 @@ suitable for both the desktop and mobile devices.") ("python2-zinnia" ,python2-zinnia))) (synopsis "Chinese and Japanese Handwriting Recognition (Base python library)") - (license (list gpl2+ ; all files except... - bsd-3 ; dictutils.py - zpl2.1)))) ; minjson.py + (license (list license:gpl2+ ; all files except... + license:bsd-3 ; dictutils.py + license:zpl2.1)))) ; minjson.py (define-public python2-tegaki-pygtk (package @@ -988,7 +982,7 @@ suitable for both the desktop and mobile devices.") `(("python2-pygtk" ,python2-pygtk) ("python2-tegaki-python" ,python2-tegaki-python))) (synopsis "Chinese and Japanese Handwriting Recognition (Base UI library)") - (license gpl2+))) ; all files + (license license:gpl2+))) (define-public python2-tegaki-tools (package @@ -1015,7 +1009,7 @@ suitable for both the desktop and mobile devices.") (synopsis "Chinese and Japanese Handwriting Recognition (Advanced tools)") ;; Files in gifenc/ are licensed under gpl3+ while other files are licensed ;; under gpl2+. Therefore, the combined work is licensed under gpl3+. - (license gpl3+))) + (license license:gpl3+))) (define-public python2-tegaki-recognize (let ((commit "eceec69fe651d0733c8c8752dae569d2283d0f3c") @@ -1067,7 +1061,7 @@ suitable for both the desktop and mobile devices.") "--root=/") #t)))))) (synopsis "Chinese and Japanese Handwriting Recognition (Main program)") - (license gpl2+)))) ; all files + (license license:gpl2+)))) (define-public tegaki-zinnia-japanese (package @@ -1104,7 +1098,7 @@ suitable for both the desktop and mobile devices.") (variable "TEGAKI_MODEL_PATH") (files '("share/tegaki/models"))))) (synopsis "Chinese and Japanese Handwriting Recognition (Model)") - (license lgpl2.1))) ; all files + (license license:lgpl2.1))) (define-public tegaki-zinnia-japanese-light (package @@ -1120,7 +1114,7 @@ suitable for both the desktop and mobile devices.") "0x0fs29ylqzxd6xvg51h7rigpbisd7q8v11df425ib2j792yfyf8")) (modules remove-pre-compiled-files-modules) (snippet (remove-pre-compiled-files "model")))) - (license lgpl2.1))) ; all files + (license license:lgpl2.1))) (define-public tegaki-zinnia-japanese-kyoiku (package @@ -1136,7 +1130,7 @@ suitable for both the desktop and mobile devices.") "0am94bcpmbzplxdnwn9gk15sgaizvcfhmv13mk14jjvx3419cvvx")) (modules remove-pre-compiled-files-modules) (snippet (remove-pre-compiled-files "model")))) - (license lgpl2.1))) ; all files + (license license:lgpl2.1))) (define-public tegaki-zinnia-japanese-joyo (package @@ -1152,7 +1146,7 @@ suitable for both the desktop and mobile devices.") "1v0j40lzdyiz01ayws0b8r7fsdy2mr32658382kz4wyk883wzx2z")) (modules remove-pre-compiled-files-modules) (snippet (remove-pre-compiled-files "model")))) - (license lgpl2.1))) ; all files + (license license:lgpl2.1))) (define-public tegaki-zinnia-simplified-chinese (package @@ -1168,7 +1162,7 @@ suitable for both the desktop and mobile devices.") "18wq0jccv7lpnrfnzspyc110d6pj2v1i21xcx4fmgzz1lnln3fs5")) (modules remove-pre-compiled-files-modules) (snippet (remove-pre-compiled-files "model")))) - (license lgpl2.1))) ; all files + (license license:lgpl2.1))) (define-public tegaki-zinnia-simplified-chinese-light (package @@ -1184,7 +1178,7 @@ suitable for both the desktop and mobile devices.") "0v24yf0w0p03lb7fyx128a75mwzad166bigvlbrzqnad789qg1sr")) (modules remove-pre-compiled-files-modules) (snippet (remove-pre-compiled-files "model")))) - (license lgpl2.1))) ; all files + (license license:lgpl2.1))) (define-public tegaki-zinnia-traditional-chinese (package @@ -1200,7 +1194,7 @@ suitable for both the desktop and mobile devices.") "140nlp6hynrai2svs5670jjfw1za6ayflhyj2dl0bzsfgbk3447l")) (modules remove-pre-compiled-files-modules) (snippet (remove-pre-compiled-files "model")))) - (license lgpl2.1))) ; all files + (license license:lgpl2.1))) (define-public tegaki-zinnia-traditional-chinese-light (package @@ -1216,7 +1210,7 @@ suitable for both the desktop and mobile devices.") "1m6yk6a57vs9wg5y50qciwi1ahhmklp2mgsjysbj4mnyzv6yhcr2")) (modules remove-pre-compiled-files-modules) (snippet (remove-pre-compiled-files "model")))) - (license lgpl2.1))) ; all files + (license license:lgpl2.1))) (define-public tegaki-wagomu-japanese (package @@ -1232,7 +1226,7 @@ suitable for both the desktop and mobile devices.") "0flj5id8xwsn7csrrzqz9prdikswnwm2wms0as2vzdpxzph1az4k")) (modules remove-pre-compiled-files-modules) (snippet (remove-pre-compiled-files "model")))) - (license lgpl2.1))) ; all files + (license license:lgpl2.1))) (define-public tegaki-wagomu-japanese-kyoiku (package @@ -1248,7 +1242,7 @@ suitable for both the desktop and mobile devices.") "0v8crfh8rdf6ndp16g52s5jlrrlwh73xp38zjn5i9dlacx8kfqg1")) (modules remove-pre-compiled-files-modules) (snippet (remove-pre-compiled-files "model")))) - (license lgpl2.1))) ; all files + (license license:lgpl2.1))) (define-public tegaki-wagomu-japanese-joyo (package @@ -1264,7 +1258,7 @@ suitable for both the desktop and mobile devices.") "0wk8shpr963zp328g991qs6abpnacq4242003m687z2d6yp7nph2")) (modules remove-pre-compiled-files-modules) (snippet (remove-pre-compiled-files "model")))) - (license lgpl2.1))) ; all files + (license license:lgpl2.1))) (define-public tegaki-wagomu-simplified-chinese (package @@ -1280,7 +1274,7 @@ suitable for both the desktop and mobile devices.") "0wqprynigqxqxv128i1smh81gxvmjj056d9qpznxa3n9f5ymlbj6")) (modules remove-pre-compiled-files-modules) (snippet (remove-pre-compiled-files "model")))) - (license lgpl2.1))) ; all files + (license license:lgpl2.1))) ;;; Upstream does not provide the source for tegaki-wagomu-traditional-chinese. ;;; Therefore, we use the source for tegaki-zinnia-traditional-chinese and @@ -1301,7 +1295,7 @@ suitable for both the desktop and mobile devices.") (substitute* "Makefile" (("zinnia") "wagomu")) #t)))))) - (license lgpl2.1))) ; all files + (license license:lgpl2.1))) (define-public link-grammar (package @@ -1325,7 +1319,7 @@ system assigns to it a syntactic structure, which consists of a set of labelled links connecting pairs of words. The parser also produces a \"constituent\" (HPSG style phrase tree) representation of a sentence (showing noun phrases, verb phrases, etc.).") - (license bsd-3))) + (license license:bsd-3))) (define-public praat (package @@ -1368,4 +1362,4 @@ noun phrases, verb phrases, etc.).") (description "Praat is a tool to perform phonetics tasks. It can do speech analysis (pitch, formant, intensity, ...), speech synthesis, labelling, segmenting and manipulation.") - (license gpl2+))) + (license license:gpl2+))) From 3208bdfd53ec67434684389a19e151eeb194f184 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 16:42:34 +0100 Subject: [PATCH 0037/1003] gnu: font-liberation: Update to 2.1.3. * gnu/packages/fonts.scm (font-liberation): Update to 2.1.3. --- gnu/packages/fonts.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index bb0270466a..1b00f28aa9 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -334,14 +334,15 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over (define-public font-liberation (package (name "font-liberation") - (version "2.1.2") + (version "2.1.3") (source (origin (method url-fetch) - (uri (string-append "https://github.com/liberationfonts/liberation-fonts/" - "files/5722233/liberation-fonts-ttf-" version ".tar.gz")) + (uri (string-append + "https://github.com/liberationfonts/liberation-fonts/" + "files/6060976/liberation-fonts-ttf-" version ".tar.gz")) (sha256 - (base32 "1q7qx9bpn1gqjh1zbb8n9fkzwz8skn41hyy61186g4c3y8q4js8l")))) + (base32 "0bv8i47iq2irxkkjlqwdli4zz01sb1qg2n6vbdqjrqqhx912zji2")))) (build-system font-build-system) (home-page "https://github.com/liberationfonts") (synopsis "Fonts compatible with Arial, Times New Roman, and Courier New") From 98ec11c472ea401c86ddf40ce5e8e99b63203e91 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 16:43:39 +0100 Subject: [PATCH 0038/1003] gnu: font-liberation: Remove sponsorship information from description. * gnu/packages/fonts.scm (font-liberation)[description]: Remove sponsorship information. --- gnu/packages/fonts.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 1b00f28aa9..a1c30b8fa7 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -358,9 +358,7 @@ Bitstream Vera Sans); Bitstream Vera Serif); @item Mono (a substitute for Courier New, Cumberland, Courier, Nimbus Mono L, and Bitstream Vera Sans Mono). -@end enumerate - -The Liberation Fonts are sponsored by Red Hat.") +@end enumerate\n") (license license:silofl1.1))) (define-public font-linuxlibertine From 3b2d7ada40db66439ce3d285960208687d79b421 Mon Sep 17 00:00:00 2001 From: LibreMiami Date: Sat, 6 Mar 2021 01:16:32 +0000 Subject: [PATCH 0039/1003] gnu: mumble: Modify snippet. * gnu/packages/telephony.scm (mumble) [snippet]: List kept directories instead of deleted ones. Co-authored-by: Raghav Gururajan Co-authored-by: jgart Signed-off-by: Leo Prikler --- gnu/packages/telephony.scm | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 53cc127e48..5c8d247e68 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2020 Raghav Gururajan ;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2020 Vincent Legoll +;;; Copyright © 2021 LibreMiami ;;; ;;; This file is part of GNU Guix. ;;; @@ -525,26 +526,27 @@ address of one of the participants.") (sha256 (base32 "14v0rgy1a5alxmz7ly95y38bdj0hx79yysgkcd8r8p9qqfzlwpv1")) - (modules '((guix build utils))) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-1))) (snippet `(begin - ;; Remove bundled software. Keep arc4random, celt-0.7.0, - ;; celt-0.11.0, qqbonjour, rnnoise, smallft. - (for-each - delete-file-recursively - '("3rdparty/GL" ; in mesa - "3rdparty/mach-override-build" ; for macx - "3rdparty/mach-override-src" - "3rdparty/minhook-build" ; for win32 - "3rdparty/minhook-src" - "3rdparty/opus-build" ; in opus - "3rdparty/opus-src" - "3rdparty/speex-build" ; in speex - "3rdparty/speex-src" - "3rdparty/speexdsp-src" ; in speexdsp - "3rdparty/xinputcheck-build" ; for win32 - "3rdparty/xinputcheck-src")) - #t)))) + (let ((keep + '("arc4random-src" + "celt-0.7.0-build" + "celt-0.7.0-src" + "celt-0.11.0-build" + "celt-0.11.0-src" + "qqbonjour-src" + "rnnoise-build" + "rnnoise-src" + "smallft-src"))) + (with-directory-excursion "3rdparty" + (for-each delete-file-recursively + (lset-difference string=? + (scandir ".") + (cons* "." ".." keep)))) + #t))))) (build-system qt-build-system) (arguments `(#:tests? #f ; no "check" target From a3084e1e06c30179bd75af2a0badd8a7ac0485f7 Mon Sep 17 00:00:00 2001 From: Leo Prikler Date: Mon, 15 Feb 2021 16:02:43 +0100 Subject: [PATCH 0040/1003] gnu: ppsspp: Update to 1.11.2. * gnu/packages/emulators.scm (ppsspp): Update to 1.11.2. [snippet]: Adapt to changes in source code. Unbundle miniupnp and MoltenVK. [arguments]<#:phases>: Add fix-unittest-build. Comment failing tests. * gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch: Adapt to source. --- gnu/packages/emulators.scm | 50 +++++--- .../ppsspp-disable-upgrade-and-gold.patch | 113 ++++++++++-------- 2 files changed, 93 insertions(+), 70 deletions(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 532ca60602..a2e7b9970a 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -2094,7 +2094,7 @@ framework based on QEMU.") (define-public ppsspp (package (name "ppsspp") - (version "1.10.3") + (version "1.11.2") (source (origin (method git-fetch) @@ -2102,7 +2102,7 @@ framework based on QEMU.") (url "https://github.com/hrydgard/ppsspp") (commit (string-append "v" version)))) (sha256 - (base32 "0znxlbj6cfw7gn0naay0mzhc0k5saw8nrwpspcn7gap1023p06w2")) + (base32 "03nxarx0l1ndi9fffl1wjfwsg3pk2bwf72cwcfaski1sg3dxsv7h")) (file-name (git-file-name name version)) (patches (search-patches "ppsspp-disable-upgrade-and-gold.patch")) @@ -2113,16 +2113,16 @@ framework based on QEMU.") ;; There are still a number of external sources, that we don't ;; remove here. Some may be packaged, others are not. ;; First, we patch existing sources to include the right headers. - (substitute* (append (list "ext/native/thin3d/vulkan_utils.cpp" - "ext/native/thin3d/thin3d_vulkan.cpp") - (find-files "Common" ".*\\.(h|cpp)") + (substitute* (append (find-files "Common" ".*\\.(h|cpp)") (find-files "Core" ".*\\.(h|cpp)") (find-files "GPU" ".*\\.(h|cpp)") (find-files "SDL" ".*\\.(h|cpp)") (find-files "UI" ".*\\.(h|cpp)")) ;; These headers are all hard-coded in the original source. (("ext/cityhash/") "") - (("ext/glslang/") "") + (("ext/glslang/glslang/") "glslang/") + (("ext/glslang/") "glslang/") + (("ext/miniupnp/") "") (("ext/SPIRV-Cross/") "spirv_cross/") (("ext/vulkan/") "vulkan/") (("ext/xxhash.h") "xxhash.h") @@ -2145,7 +2145,12 @@ framework based on QEMU.") ;; Don't search for cityhash/xxhash, we already have them. (("add_library\\((city|xx)hash STATIC") "if()\nendif(") (("ext/xxhash\\.[ch]") "") - (("ext/native/ext/cityhash/.*\\.(cpp|h)") "") + (("ext/cityhash/.*\\.(cpp|h)") "") + (("if\\(USE_MINIUPNPC\\)" all) + (string-append all " +find_package(miniupnpc) +target_link_libraries(${CoreLibName} miniupnpc ${LDLIBS}) +elseif(FALSE)")) ;; Link all of spirv-cross. (("spirv-cross-glsl" all) (string-append all @@ -2158,12 +2163,12 @@ framework based on QEMU.") (("add_subdirectory\\(SPIRV-Cross-build\\)") "")) ;; Finally, we can delete the bundled sources. (for-each delete-file-recursively - '("ext/cmake" + '("MoltenVK" + "ext/cmake" "ext/glew" "ext/glslang" "ext/glslang-build" - "ext/native/ext/cityhash" - "ext/native/ext/libpng17" - "ext/native/ext/libzip" + "ext/miniupnp" "ext/miniupnp-build" + "ext/native" "ext/snappy" "ext/SPIRV-Cross" "ext/SPIRV-Cross-build" "ext/vulkan" @@ -2186,6 +2191,7 @@ framework based on QEMU.") ("libpng" ,libpng) ("libzip" ,libzip) ("mesa" ,mesa) + ("miniupnpc" ,miniupnpc) ("sdl2" ,sdl2) ("snappy" ,snappy) ("spirv-cross" ,spirv-cross) @@ -2196,24 +2202,24 @@ framework based on QEMU.") ;; TODO: unbundle armips. ("armips-source" ,(package-source armips)) ("lang" - ,(let ((commit "1c64b8fbd3cb6bd87935eb53f302f7de6f86e209")) + ,(let ((commit "6bd5b4bc983917ea8402f73c726b46e36f3de0b4")) (origin (method git-fetch) (uri (git-reference (url "https://github.com/hrydgard/ppsspp-lang") (commit commit))) (sha256 - (base32 "0rprn3yd8xfrvi0fm62sgpqa8n73jk7zmlscp8cp0h2fawqpiamd")) + (base32 "08npr3a4xskf85gnlxidl4ksc3rhc7m5rgnj7vsbjvhvw5ap02qx")) (file-name (git-file-name "ppsspp-lang" commit))))) ("tests" - ,(let ((commit "328b839c7243e7f733f9eae88d059485e3d808e7")) + ,(let ((commit "1047400eaec6bcbdb2a64d326375ef6a6617c4ac")) (origin (method git-fetch) (uri (git-reference (url "https://github.com/hrydgard/pspautotests") (commit commit))) (sha256 - (base32 "1gj1kr5ijxrqwvz7c41phskjr70ndp8iz0gr8c3xxsd8p9z5gdvm")) + (base32 "0nxv1lskcr8zbg6nrfai21mxsw0n5vaqhbsa41c3cxfyx5c4w2pg")) (file-name (git-file-name "pspautotests" commit))))))) (arguments `(#:out-of-source? #f @@ -2236,13 +2242,23 @@ framework based on QEMU.") (copy-recursively (assoc-ref inputs "lang") "assets/lang") #t)) + (add-after 'unpack 'fix-unittest-build + (lambda _ + (substitute* "CMakeLists.txt" + (("unittest/TestVertexJit.cpp" all) + (string-append all " unittest/TestShaderGenerators.cpp"))) + (substitute* "unittest/TestVertexJit.cpp" + (("#include \"unittest/UnitTest.h\"" all) + (string-append all "\n#include "))) + #t)) (replace 'check (lambda _ (for-each (lambda (t) (invoke "./unitTest" t)) '("Arm64Emitter" "ArmEmitter" "X64Emitter" "VertexJit" "Asin" - "SinCos" "VFPUSinCos" "MathUtil" "Parsers" "Jit" - "MatrixTranspose" "ParseLBN" "QuickTexHash" "CLZ" "MemMap")) + "SinCos" #|"VFPUSinCos" SIGSEGV|# "MathUtil" "Parsers" "Jit" + "MatrixTranspose" "ParseLBN" "QuickTexHash" "CLZ" + #|"ShaderGenerators"|#)) (invoke "python3" "test.py" "-g") #t)) (replace 'install diff --git a/gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch b/gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch index 9503ab6f31..760ab97568 100644 --- a/gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch +++ b/gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch @@ -1,28 +1,28 @@ -From 951f2269f67d618d376656db831796c119f4f6b3 Mon Sep 17 00:00:00 2001 +From 0c57874ebb5982154da127ae338f9190b1581804 Mon Sep 17 00:00:00 2001 From: Leo Prikler Date: Fri, 26 Jun 2020 18:20:04 +0200 Subject: [PATCH] ppsspp: disable upgrade and gold --- - Core/Config.cpp | 11 ------- + Core/Config.cpp | 11 ------ Core/Config.h | 2 -- Qt/QtMain.cpp | 6 ---- SDL/SDLMain.cpp | 6 ---- UI/DevScreens.cpp | 3 -- UI/GameSettingsScreen.cpp | 1 - - UI/MainScreen.cpp | 63 +------------------------------------ - UI/MiscScreens.cpp | 31 ++---------------- + UI/MainScreen.cpp | 70 +------------------------------------ + UI/MiscScreens.cpp | 31 ++-------------- UWP/PPSSPP_UWPMain.cpp | 6 ---- Windows/MainWindowMenu.cpp | 2 +- Windows/main.cpp | 6 ---- android/jni/app-android.cpp | 6 ---- - 12 files changed, 5 insertions(+), 138 deletions(-) + 12 files changed, 5 insertions(+), 145 deletions(-) diff --git a/Core/Config.cpp b/Core/Config.cpp -index 214aeb433..04e3b151d 100644 +index 1c53e8e57..2fa74a6b8 100644 --- a/Core/Config.cpp +++ b/Core/Config.cpp -@@ -428,7 +428,6 @@ static ConfigSetting generalSettings[] = { +@@ -439,7 +439,6 @@ static ConfigSetting generalSettings[] = { ConfigSetting("IgnoreBadMemAccess", &g_Config.bIgnoreBadMemAccess, true, true), ConfigSetting("CurrentDirectory", &g_Config.currentDirectory, ""), ConfigSetting("ShowDebuggerOnLoad", &g_Config.bShowDebuggerOnLoad, false), @@ -30,7 +30,7 @@ index 214aeb433..04e3b151d 100644 ConfigSetting("Language", &g_Config.sLanguageIni, &DefaultLangRegion), ConfigSetting("ForceLagSync2", &g_Config.bForceLagSync, false, true, true), ConfigSetting("DiscordPresence", &g_Config.bDiscordPresence, true, true, false), // Or maybe it makes sense to have it per-game? Race conditions abound... -@@ -1229,16 +1228,6 @@ void Config::Load(const char *iniFileName, const char *controllerIniFilename) { +@@ -1293,16 +1292,6 @@ void Config::Load(const char *iniFileName, const char *controllerIniFilename) { upgradeMessage = ""; } @@ -48,29 +48,29 @@ index 214aeb433..04e3b151d 100644 bSaveSettings = true; diff --git a/Core/Config.h b/Core/Config.h -index 084eacc94..e7134cab5 100644 +index 13bce8a36..70d6c8aaf 100644 --- a/Core/Config.h +++ b/Core/Config.h -@@ -99,7 +99,6 @@ struct Config { - bool bIgnoreBadMemAccess; +@@ -101,7 +101,6 @@ struct Config { + bool bFastMemory; int iCpuCore; - bool bCheckForNewVersion; bool bForceLagSync; bool bFuncReplacements; bool bHideSlowWarnings; -@@ -521,4 +520,3 @@ std::string CreateRandMAC(); +@@ -540,4 +539,3 @@ std::string CreateRandMAC(); // TODO: Find a better place for this. extern http::Downloader g_DownloadManager; extern Config g_Config; - diff --git a/Qt/QtMain.cpp b/Qt/QtMain.cpp -index 7713b6587..1d92d1175 100644 +index 5be0cefa0..b11cb1c64 100644 --- a/Qt/QtMain.cpp +++ b/Qt/QtMain.cpp -@@ -194,12 +194,6 @@ bool System_GetPropertyBool(SystemProperty prop) { - return true; +@@ -218,12 +218,6 @@ bool System_GetPropertyBool(SystemProperty prop) { case SYSPROP_HAS_FILE_BROWSER: + case SYSPROP_HAS_FOLDER_BROWSER: return true; - case SYSPROP_APP_GOLD: -#ifdef GOLD @@ -82,10 +82,10 @@ index 7713b6587..1d92d1175 100644 return false; } diff --git a/SDL/SDLMain.cpp b/SDL/SDLMain.cpp -index 52028d087..d8697d210 100644 +index 98b56fe91..6af0fcb1a 100644 --- a/SDL/SDLMain.cpp +++ b/SDL/SDLMain.cpp -@@ -356,12 +356,6 @@ bool System_GetPropertyBool(SystemProperty prop) { +@@ -380,12 +380,6 @@ bool System_GetPropertyBool(SystemProperty prop) { switch (prop) { case SYSPROP_HAS_BACK_BUTTON: return true; @@ -99,10 +99,10 @@ index 52028d087..d8697d210 100644 return false; } diff --git a/UI/DevScreens.cpp b/UI/DevScreens.cpp -index f146d099e..625ee124c 100644 +index 8daac5bc8..c0c09ce79 100644 --- a/UI/DevScreens.cpp +++ b/UI/DevScreens.cpp -@@ -603,9 +603,6 @@ void SystemInfoScreen::CreateViews() { +@@ -605,9 +605,6 @@ void SystemInfoScreen::CreateViews() { #ifdef _M_SSE buildConfig->Add(new InfoItem("_M_SSE", StringFromFormat("0x%x", _M_SSE))); #endif @@ -113,35 +113,35 @@ index f146d099e..625ee124c 100644 ViewGroup *cpuExtensionsScroll = new ScrollView(ORIENT_VERTICAL, new LinearLayoutParams(FILL_PARENT, FILL_PARENT)); cpuExtensionsScroll->SetTag("DevSystemInfoCPUExt"); diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp -index 8202870c7..81112f822 100644 +index 2f1e157ee..38c586b06 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp -@@ -796,7 +796,6 @@ void GameSettingsScreen::CreateViews() { +@@ -914,7 +914,6 @@ void GameSettingsScreen::CreateViews() { + } } #endif - - systemSettings->Add(new CheckBox(&g_Config.bCheckForNewVersion, sy->T("VersionCheck", "Check for new versions of PPSSPP"))); const std::string bgPng = GetSysDirectory(DIRECTORY_SYSTEM) + "background.png"; const std::string bgJpg = GetSysDirectory(DIRECTORY_SYSTEM) + "background.jpg"; if (File::Exists(bgPng) || File::Exists(bgJpg)) { diff --git a/UI/MainScreen.cpp b/UI/MainScreen.cpp -index 43535913d..36834020d 100644 +index ca870ab8f..84cde88ac 100644 --- a/UI/MainScreen.cpp +++ b/UI/MainScreen.cpp -@@ -1054,11 +1054,7 @@ void MainScreen::CreateViews() { +@@ -1064,11 +1064,7 @@ void MainScreen::CreateViews() { sprintf(versionString, "%s", PPSSPP_GIT_VERSION); rightColumnItems->SetSpacing(0.0f); - LinearLayout *logos = new LinearLayout(ORIENT_HORIZONTAL); + AnchorLayout *logos = new AnchorLayout(new AnchorLayoutParams(FILL_PARENT, 60.0f, false)); - if (System_GetPropertyBool(SYSPROP_APP_GOLD)) { -- logos->Add(new ImageView(ImageID("I_ICONGOLD"), IS_DEFAULT, new AnchorLayoutParams(64, 64, 10, 10, NONE, NONE, false))); +- logos->Add(new ImageView(ImageID("I_ICONGOLD"), IS_DEFAULT, new AnchorLayoutParams(64, 64, 0, 0, NONE, NONE, false))); - } else { -- logos->Add(new ImageView(ImageID("I_ICON"), IS_DEFAULT, new AnchorLayoutParams(64, 64, 10, 10, NONE, NONE, false))); +- logos->Add(new ImageView(ImageID("I_ICON"), IS_DEFAULT, new AnchorLayoutParams(64, 64, 0, 0, NONE, NONE, false))); - } -+ logos->Add(new ImageView(ImageID("I_ICON"), IS_DEFAULT, new AnchorLayoutParams(64, 64, 10, 10, NONE, NONE, false))); - logos->Add(new ImageView(ImageID("I_LOGO"), IS_DEFAULT, new LinearLayoutParams(Margins(-12, 0, 0, 0)))); - rightColumnItems->Add(logos); - TextView *ver = rightColumnItems->Add(new TextView(versionString, new LinearLayoutParams(Margins(70, -6, 0, 0)))); -@@ -1070,11 +1066,6 @@ void MainScreen::CreateViews() { ++ logos->Add(new ImageView(ImageID("I_ICON"), IS_DEFAULT, new AnchorLayoutParams(64, 64, 0, 0, NONE, NONE, false))); + logos->Add(new ImageView(ImageID("I_LOGO"), IS_DEFAULT, new AnchorLayoutParams(180, 64, 64, -5.0f, NONE, NONE, false))); + + #if !defined(MOBILE_DEVICE) +@@ -1089,11 +1085,6 @@ void MainScreen::CreateViews() { rightColumnItems->Add(new Choice(mm->T("Game Settings", "Settings")))->OnClick.Handle(this, &MainScreen::OnGameSettings); rightColumnItems->Add(new Choice(mm->T("Credits")))->OnClick.Handle(this, &MainScreen::OnCredits); rightColumnItems->Add(new Choice(mm->T("www.ppsspp.org")))->OnClick.Handle(this, &MainScreen::OnPPSSPPOrg); @@ -153,7 +153,7 @@ index 43535913d..36834020d 100644 #if !PPSSPP_PLATFORM(UWP) // Having an exit button is against UWP guidelines. -@@ -1099,28 +1090,6 @@ void MainScreen::CreateViews() { +@@ -1118,32 +1109,6 @@ void MainScreen::CreateViews() { } else if (tabHolder_->GetVisibility() != V_GONE) { root_->SetDefaultFocusView(tabHolder_); } @@ -169,7 +169,11 @@ index 43535913d..36834020d 100644 - UI::Drawable solid(0xFFbd9939); - upgradeBar_->SetBG(solid); - upgradeBar_->Add(new TextView(u->T("New version of PPSSPP available") + std::string(": ") + g_Config.upgradeVersion, new LinearLayoutParams(1.0f, textMargins))); +-#if PPSSPP_PLATFORM(ANDROID) || PPSSPP_PLATFORM(WINDOWS) - upgradeBar_->Add(new Button(u->T("Download"), new LinearLayoutParams(buttonMargins)))->OnClick.Handle(this, &MainScreen::OnDownloadUpgrade); +-#else +- upgradeBar_->Add(new Button(u->T("Details"), new LinearLayoutParams(buttonMargins)))->OnClick.Handle(this, &MainScreen::OnDownloadUpgrade); +-#endif - upgradeBar_->Add(new Button(u->T("Dismiss"), new LinearLayoutParams(buttonMargins)))->OnClick.Handle(this, &MainScreen::OnDismissUpgrade); - - // Slip in under root_ @@ -182,7 +186,7 @@ index 43535913d..36834020d 100644 } UI::EventReturn MainScreen::OnAllowStorage(UI::EventParams &e) { -@@ -1128,27 +1097,6 @@ UI::EventReturn MainScreen::OnAllowStorage(UI::EventParams &e) { +@@ -1151,30 +1116,6 @@ UI::EventReturn MainScreen::OnAllowStorage(UI::EventParams &e) { return UI::EVENT_DONE; } @@ -194,9 +198,12 @@ index 43535913d..36834020d 100644 - } else { - LaunchBrowser("market://details?id=org.ppsspp.ppsspp"); - } +-#elif PPSSPP_PLATFORM(WINDOWS) +- LaunchBrowser("https://www.ppsspp.org/downloads.html"); -#else - // Go directly to ppsspp.org and let the user sort it out -- LaunchBrowser("https://www.ppsspp.org/downloads.html"); +- // (for details and in case downloads doesn't have their platform.) +- LaunchBrowser("https://www.ppsspp.org/"); -#endif - return UI::EVENT_DONE; -} @@ -210,7 +217,7 @@ index 43535913d..36834020d 100644 void MainScreen::sendMessage(const char *message, const char *value) { // Always call the base class method first to handle the most common messages. UIScreenWithBackground::sendMessage(message, value); -@@ -1319,15 +1267,6 @@ UI::EventReturn MainScreen::OnCredits(UI::EventParams &e) { +@@ -1390,15 +1331,6 @@ UI::EventReturn MainScreen::OnCredits(UI::EventParams &e) { return UI::EVENT_DONE; } @@ -227,10 +234,10 @@ index 43535913d..36834020d 100644 LaunchBrowser("https://www.ppsspp.org"); return UI::EVENT_DONE; diff --git a/UI/MiscScreens.cpp b/UI/MiscScreens.cpp -index a6542c65d..f5f101594 100644 +index a7284654b..2413d6c89 100644 --- a/UI/MiscScreens.cpp +++ b/UI/MiscScreens.cpp -@@ -498,11 +498,7 @@ void LogoScreen::render() { +@@ -539,11 +539,7 @@ void LogoScreen::render() { char temp[256]; // Manually formatting UTF-8 is fun. \xXX doesn't work everywhere. snprintf(temp, sizeof(temp), "%s Henrik Rydg%c%crd", cr->T("created", "Created by"), 0xC3, 0xA5); @@ -243,7 +250,7 @@ index a6542c65d..f5f101594 100644 dc.Draw()->DrawImage(ImageID("I_LOGO"), bounds.centerX() + 40, bounds.centerY() - 30, 1.5f, textColor, ALIGN_CENTER); //dc.Draw()->DrawTextShadow(UBUNTU48, "PPSSPP", xres / 2, yres / 2 - 30, textColor, ALIGN_CENTER); dc.SetFontScale(1.0f, 1.0f); -@@ -538,10 +534,6 @@ void CreditsScreen::CreateViews() { +@@ -579,10 +575,6 @@ void CreditsScreen::CreateViews() { // Really need to redo this whole layout with some linear layouts... int rightYOffset = 0; @@ -254,7 +261,7 @@ index a6542c65d..f5f101594 100644 root_->Add(new Button(cr->T("PPSSPP Forums"), new AnchorLayoutParams(260, 64, 10, NONE, NONE, 158, false)))->OnClick.Handle(this, &CreditsScreen::OnForums); root_->Add(new Button(cr->T("Discord"), new AnchorLayoutParams(260, 64, 10, NONE, NONE, 232, false)))->OnClick.Handle(this, &CreditsScreen::OnDiscord); root_->Add(new Button("www.ppsspp.org", new AnchorLayoutParams(260, 64, 10, NONE, NONE, 10, false)))->OnClick.Handle(this, &CreditsScreen::OnPPSSPPOrg); -@@ -550,20 +542,7 @@ void CreditsScreen::CreateViews() { +@@ -591,20 +583,7 @@ void CreditsScreen::CreateViews() { #if PPSSPP_PLATFORM(ANDROID) || PPSSPP_PLATFORM(IOS) root_->Add(new Button(cr->T("Share PPSSPP"), new AnchorLayoutParams(260, 64, NONE, NONE, 10, rightYOffset + 158, false)))->OnClick.Handle(this, &CreditsScreen::OnShare); #endif @@ -276,7 +283,7 @@ index a6542c65d..f5f101594 100644 } UI::EventReturn CreditsScreen::OnTwitter(UI::EventParams &e) { -@@ -747,11 +726,7 @@ void CreditsScreen::render() { +@@ -794,11 +773,7 @@ void CreditsScreen::render() { // TODO: This is kinda ugly, done on every frame... char temp[256]; @@ -290,10 +297,10 @@ index a6542c65d..f5f101594 100644 UIContext &dc = *screenManager()->getUIContext(); diff --git a/UWP/PPSSPP_UWPMain.cpp b/UWP/PPSSPP_UWPMain.cpp -index 24f3b964d..1d66ba7ee 100644 +index 0ba7fac4b..d1b687c47 100644 --- a/UWP/PPSSPP_UWPMain.cpp +++ b/UWP/PPSSPP_UWPMain.cpp -@@ -399,12 +399,6 @@ bool System_GetPropertyBool(SystemProperty prop) { +@@ -433,12 +433,6 @@ bool System_GetPropertyBool(SystemProperty prop) { return false; case SYSPROP_HAS_BACK_BUTTON: return true; @@ -307,10 +314,10 @@ index 24f3b964d..1d66ba7ee 100644 return false; } diff --git a/Windows/MainWindowMenu.cpp b/Windows/MainWindowMenu.cpp -index b5e1bb0eb..71b29b48a 100644 +index 979a60ecb..a57927544 100644 --- a/Windows/MainWindowMenu.cpp +++ b/Windows/MainWindowMenu.cpp -@@ -1377,7 +1377,7 @@ namespace MainWindow { +@@ -1393,7 +1393,7 @@ namespace MainWindow { { W32Util::CenterWindow(hDlg); HWND versionBox = GetDlgItem(hDlg, IDC_VERSION); @@ -320,10 +327,10 @@ index b5e1bb0eb..71b29b48a 100644 SetWindowText(versionBox, ConvertUTF8ToWString(windowText).c_str()); } diff --git a/Windows/main.cpp b/Windows/main.cpp -index 3795597e2..fd98d0453 100644 +index 4d948cfe5..e609cc1e0 100644 --- a/Windows/main.cpp +++ b/Windows/main.cpp -@@ -268,12 +268,6 @@ bool System_GetPropertyBool(SystemProperty prop) { +@@ -301,12 +301,6 @@ bool System_GetPropertyBool(SystemProperty prop) { return true; case SYSPROP_HAS_BACK_BUTTON: return true; @@ -337,13 +344,13 @@ index 3795597e2..fd98d0453 100644 return false; } diff --git a/android/jni/app-android.cpp b/android/jni/app-android.cpp -index 086371085..0a340c0ae 100644 +index 10fdf97e5..736b1fa66 100644 --- a/android/jni/app-android.cpp +++ b/android/jni/app-android.cpp -@@ -372,12 +372,6 @@ bool System_GetPropertyBool(SystemProperty prop) { - return true; - case SYSPROP_HAS_IMAGE_BROWSER: - return true; +@@ -437,12 +437,6 @@ bool System_GetPropertyBool(SystemProperty prop) { + case SYSPROP_HAS_FOLDER_BROWSER: + // Uses OPEN_DOCUMENT_TREE to let you select a folder. + return androidVersion >= 21; - case SYSPROP_APP_GOLD: -#ifdef GOLD - return true; @@ -354,5 +361,5 @@ index 086371085..0a340c0ae 100644 return false; } -- -2.26.2 +2.30.1 From 3483886cf47199eaf3f11fb132605e7f39e9e12d Mon Sep 17 00:00:00 2001 From: Leo Prikler Date: Wed, 17 Feb 2021 11:16:40 +0100 Subject: [PATCH 0041/1003] gnu: Add orchis-theme. * gnu/packages/gnome-xyz.scm (orchis-theme): New variable. --- gnu/packages/gnome-xyz.scm | 58 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index aa7949478c..e481a10e11 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -781,6 +781,64 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.") (define-public numix-theme (deprecated-package "numix-theme" numix-gtk-theme)) +(define-public orchis-theme + (package + (name "orchis-theme") + (version "2021-01-22") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/vinceliuice/Orchis-theme") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1m0wilvrscg2xnkp6a90j0iccxd8ywvfpza1345sc6xmml9gvjzc")) + (modules '((guix build utils) + (ice-9 regex) + (srfi srfi-26))) + (snippet + '(begin + (for-each + (lambda (f) + (let* ((r (make-regexp "\\.scss")) + (f* (regexp-substitute #f (regexp-exec r f) 'pre ".css"))) + (if (file-exists? f*) + (delete-file f*)))) + (find-files "." ".*\\.scss")) + #t)))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (delete 'bootstrap) + (delete 'configure) + (replace 'build (lambda _ (invoke "./parse-sass.sh"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((themes (string-append (assoc-ref outputs "out") + "/share/themes"))) + (mkdir-p themes) + (invoke "./install.sh" "-d" themes) + #t)))))) + (inputs + `(("gtk-engines" ,gtk-engines))) + (native-inputs + `(;("coreutils" ,coreutils) + ("gtk+" ,gtk+) + ("sassc" ,sassc))) + (home-page "https://github.com/vinceliuice/Orchis-theme") + (synopsis "Material Design theme for a wide range of environments") + (description "Orchis is a Material Design them for GNOME/GTK based +desktop environments. It is based on materia-theme and adds more color +variants.") + (license (list license:gpl3 ; Claimed by README.md. + license:lgpl2.1 ; Some style sheets. + license:cc-by-sa4.0)))) ; Some icons + (define-public markets (package (name "markets") From 94466f9594789f5320a79fa5555254e0b4a90f5b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 17:21:31 +0100 Subject: [PATCH 0042/1003] gnu: surgescript: Update to 0.5.5. * gnu/packages/game-development.scm (surgescript): Update to 0.5.5. --- gnu/packages/game-development.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 1f6ed0665a..55a7d71c17 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -638,7 +638,7 @@ sounds from presets such as \"explosion\" or \"powerup\".") (define-public surgescript (package (name "surgescript") - (version "0.5.4.4") + (version "0.5.5") (source (origin (method git-fetch) @@ -647,7 +647,7 @@ sounds from presets such as \"explosion\" or \"powerup\".") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1vck1wk6r6jrrw5xzpqldplz601dfgpk5s5p45fam00nfsid0p7p")))) + (base32 "0xwd4g7n0b0rxkpbyshkzyl472h1y606ghyvf8gv034n3jz2g4jk")))) (build-system cmake-build-system) (arguments '(#:configure-flags From 497a4646b37843187851787e34cc99683799f345 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 17:22:05 +0100 Subject: [PATCH 0043/1003] gnu: surgescript: Do not want static libraries. * gnu/packages/game-development.scm (surgescript)[arguments]: Add "-DWANT_STATIC=NO" to #:configure-flags. --- gnu/packages/game-development.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 55a7d71c17..7e17142b9e 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -652,7 +652,8 @@ sounds from presets such as \"explosion\" or \"powerup\".") (arguments '(#:configure-flags (let ((share (string-append (assoc-ref %outputs "out") "/share"))) - (list (string-append "-DICON_PATH=" share "/pixmaps") + (list "-DWANT_STATIC=NO" + (string-append "-DICON_PATH=" share "/pixmaps") (string-append "-DMETAINFO_PATH=" share "/metainfo"))) #:tests? #f)) (home-page "https://docs.opensurge2d.org") From 596aa62d7c88fa2b646087d7a3461bb2ba85ae16 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 17:31:37 +0100 Subject: [PATCH 0044/1003] gnu: font-mononoki: Update to 1.3. * gnu/packages/fonts.scm (font-mononoki): Update to 1.3. [arguments]: Add a 'make-files-writable phase. --- gnu/packages/fonts.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index a1c30b8fa7..8c49c05c47 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -1755,7 +1755,7 @@ files (TTF).") (define-public font-mononoki (package (name "font-mononoki") - (version "1.2") + (version "1.3") (source (origin (method git-fetch) (uri (git-reference @@ -1763,9 +1763,15 @@ files (TTF).") (commit version))) (sha256 (base32 - "1rkzyxn30rn8qv2h2xz324j7q15hzg2lci8790a7cdl1dfgic4xi")) + "07gh84iw84g8fha3gx4yjyl1rsksqhy2kk38f01m048sgjp6ww5j")) (file-name (git-file-name name version)))) (build-system font-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'make-files-writable + (lambda _ + (for-each make-file-writable (find-files "."))))))) (synopsis "Font for programming and code review") (description "Mononoki is a typeface by Matthias Tellen, created to enhance code From 9055546943dba1ac5f957a59e2ea3adcf29bd07e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 18:01:10 +0100 Subject: [PATCH 0045/1003] gnu: gnote: Update to 3.38.1. * gnu/packages/gnome.scm (gnote): Update to 3.38.1. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 1aaffe0b00..29bf210ff2 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -11159,7 +11159,7 @@ index files needed for Adwaita to be used outside of GNOME.") (define-public gnote (package (name "gnote") - (version "3.38.0") + (version "3.38.1") (source (origin (method url-fetch) @@ -11167,7 +11167,7 @@ index files needed for Adwaita to be used outside of GNOME.") (version-major+minor version) "/" "gnote-" version ".tar.xz")) (sha256 - (base32 "1ingbaw4d8vpjn083xvzqw7kz8z0k2bx7msk78pbzd68bwgkadpx")))) + (base32 "1adjfjhmsm2d33999khjyzvli6kiz1jlzavn77jhd49kfzhxa9y4")))) (build-system glib-or-gtk-build-system) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) From 22f16f17eb6a3bb56da186867ef7bae6ea3aa46d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 18:01:27 +0100 Subject: [PATCH 0046/1003] gnu: gexiv2: Update to 0.12.2. * gnu/packages/gnome.scm (gexiv2): Update to 0.12.2. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 29bf210ff2..adcf7fa873 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6928,7 +6928,7 @@ classes for commonly used data structures.") (define-public gexiv2 (package (name "gexiv2") - (version "0.12.1") + (version "0.12.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -6936,7 +6936,7 @@ classes for commonly used data structures.") name "-" version ".tar.xz")) (sha256 (base32 - "0xxxq8xdkgkn146my307jgws4qgxx477h0ybg1mqza1ycmczvsla")))) + "0k4ljzzz5dwqndw8awvlw3ala8rh3b2rk9i4jzvywc53mi9ba8i3")))) (build-system meson-build-system) (native-inputs `(("gcr" ,gcr) From bb0e62a1d03e561ead3ffc49f1b4f62e98b833ee Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 18:07:46 +0100 Subject: [PATCH 0047/1003] gnu: libgovirt: Update to 0.3.8. * gnu/packages/gnome.scm (libgovirt): Update to 0.3.8. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index adcf7fa873..eeb4e2f83b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -9029,7 +9029,7 @@ associations for GNOME.") (define-public libgovirt (package (name "libgovirt") - (version "0.3.6") + (version "0.3.8") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -9037,7 +9037,7 @@ associations for GNOME.") name "-" version ".tar.xz")) (sha256 (base32 - "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg")))) + "1y0x1wyakj3ya33hgj0w1jkbcn50q21gmn2zyalxysqp55i1ij8x")))) (build-system glib-or-gtk-build-system) (native-inputs `(("gettext" ,gettext-minimal) From 222679d2d97711f0d4fd6ec9e48f137783ab7bf4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 18:29:05 +0100 Subject: [PATCH 0048/1003] gnu: getmail: Update to 5.15. * gnu/packages/mail.scm (getmail): Update to 5.15. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index d90bfead72..dd166ca97b 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1438,14 +1438,14 @@ pairs have previously synchronized.") (define-public getmail (package (name "getmail") - (version "5.14") + (version "5.15") (source (origin (method url-fetch) (uri (string-append "http://pyropus.ca/software/getmail/old-versions/" "getmail-" version ".tar.gz")) (sha256 - (base32 "1hcrd9h4g12f5gvl1djsbchcjry02ghq4icdr897s8v48pkrzagk")))) + (base32 "0ahn2jyj4ka996qzs99id59pwxv6sqxp61g7drcf53rzzigq0lyl")))) (build-system python-build-system) (arguments `(#:tests? #f ; no tests From 8dba81e68c544e2958024e7919f209953764a8fa Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 18:29:27 +0100 Subject: [PATCH 0049/1003] gnu: libgxps: Update to 0.3.2. * gnu/packages/gnome.scm (libgxps): Update to 0.3.2. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index eeb4e2f83b..5c6d247471 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1974,7 +1974,7 @@ access the common Google services, and has full asynchronous support.") (define-public libgxps (package (name "libgxps") - (version "0.3.1") + (version "0.3.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1982,7 +1982,7 @@ access the common Google services, and has full asynchronous support.") name "-" version ".tar.xz")) (sha256 (base32 - "157s4c9gjjss6yd7qp7n4q6s72gz1k4ilsx4xjvp357azk49z4qs")))) + "07156nj7yrp3h9zyzx6mjwxwmfijialb4gi5d6dwyp53arr8c9vd")))) (build-system meson-build-system) (native-inputs `(("gobject-introspection" ,gobject-introspection) From 7a4dcb4c0c6a53e9fe7e414684189cf3691285e5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 18:42:19 +0100 Subject: [PATCH 0050/1003] gnu: polybar: Update to 3.5.5. * gnu/packages/wm.scm (polybar): Update to 3.5.5. --- gnu/packages/wm.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index e0c4d1db84..5d2b36f312 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1343,14 +1343,14 @@ its size (define-public polybar (package (name "polybar") - (version "3.5.4") + (version "3.5.5") (source (origin (method url-fetch) (uri (string-append "https://github.com/polybar/polybar/releases/" "download/" version "/polybar-" version ".tar.gz")) (sha256 - (base32 "0awwjp3l0y9yhmrl914710ipawp2xr43jxrvmnanahlznblg8fhk")))) + (base32 "1c8br9972x1qw7l2shj9aqzv0gsx58fdh3r0f1z5i1bqdwxmsqky")))) (build-system cmake-build-system) (arguments ;; Test is disabled because it requires downloading googletest from the From 42637f847e904bcee0c93beadf757742962e4916 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 18:42:32 +0100 Subject: [PATCH 0051/1003] gnu: libgnt: Update to 2.14.1. * gnu/packages/messaging.scm (libgnt): Update to 2.14.1. --- gnu/packages/messaging.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index c3e4a5edd0..00e68e48a7 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -134,7 +134,7 @@ (define-public libgnt (package (name "libgnt") - (version "2.14.0") + (version "2.14.1") (source (origin (method url-fetch) @@ -142,7 +142,7 @@ (string-append "mirror://sourceforge/pidgin/libgnt/" version "/libgnt-" version ".tar.xz")) (sha256 - (base32 "1grs9fxl404rscscxk1ff55fzjnwjqrisjxbasbssmcp1h1s4zkb")))) + (base32 "1n2bxg0ignn53c08cp69pj4sdg53kwlqn23rincyjmpr327fdhsy")))) (build-system meson-build-system) (outputs '("out" "doc")) (arguments From b3a36ab55b654cd8dbaad222a19a5ffe8b9cf18c Mon Sep 17 00:00:00 2001 From: Edgar Vincent Date: Sat, 6 Mar 2021 11:19:22 +0100 Subject: [PATCH 0052/1003] doc: Fix a grammatical error in the system installation guide. * doc/guix.texi (After System Installation): Fix grammar. Signed-off-by: Leo Famulari --- doc/guix.texi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 464c1141d8..f01e7ca89d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -86,6 +86,7 @@ Copyright @copyright{} 2020 raingloom@* Copyright @copyright{} 2020 Daniel Brooks@* Copyright @copyright{} 2020 John Soo@* Copyright @copyright{} 2020 Jonathan Brielmaier@* +Copyright @copyright{} 2020 Edgar Vincent@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -2625,7 +2626,7 @@ Note that @command{sudo guix} runs your user's @command{guix} command and explicitly run root's @command{guix}, type @command{sudo -i guix @dots{}}. The difference matters here, because @command{guix pull} updates -the @command{guix} command and package definitions only for the user it is ran +the @command{guix} command and package definitions only for the user it is run as. This means that if you choose to use @command{guix system reconfigure} in root's login shell, you'll need to @command{guix pull} separately. @end quotation From cc808564b8168b5756f23c979d66c19edcc3fc31 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 19:12:03 +0100 Subject: [PATCH 0053/1003] gnu: scrot: Update to 1.5. * gnu/packages/xdisorg.scm (scrot): Update to 1.5. [inputs]: Remove unused libxcursor. Add libxext. --- gnu/packages/xdisorg.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 2e09be525f..56ac53edec 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -700,7 +700,7 @@ move windows, switch between desktops, etc.).") (define-public scrot (package (name "scrot") - (version "1.4") + (version "1.5") (source (origin (method git-fetch) @@ -710,8 +710,7 @@ move windows, switch between desktops, etc.).") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "12xq6glg70icwsvbnfw9gm4dahlbnrc7b6adpd0mpf89h4sj2gds")))) + (base32 "0x64b7xqi5cbq29pb8s8r2kzbxaday1f5k0j70n3s2p7sahjxy72")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -720,8 +719,8 @@ move windows, switch between desktops, etc.).") (inputs `(("giblib" ,giblib) ("libx11" ,libx11) - ("libXcursor" ,libxcursor) ("libxcomposite" ,libxcomposite) + ("libxext" ,libxext) ("libXfixes" ,libxfixes))) (home-page "https://github.com/resurrecting-open-source-projects/scrot") (synopsis "Command-line screen capture utility for X Window System") From 8ae79a2d827ef8b2b137c05abad1a72895e59d78 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 19:50:12 +0100 Subject: [PATCH 0054/1003] gnu: aws-checksums: Update to 0.1.11. * gnu/packages/c.scm (aws-checksums): Update to 0.1.11. --- gnu/packages/c.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index d9e5e4d7de..b104b2f2c1 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -567,7 +567,7 @@ portability.") (define-public aws-checksums (package (name "aws-checksums") - (version "0.1.10") + (version "0.1.11") (source (origin (method git-fetch) (uri (git-reference @@ -576,7 +576,7 @@ portability.") (file-name (git-file-name name version)) (sha256 (base32 - "1f9scl5734pgjlsixspwljrrlndzhllwlfygdcr1gx5p0za08zjb")) + "1pjs31x3cq9wyw511y00kksz660m8im9zxk30hid8iwlilcbnyvx")) (patches (search-patches "aws-checksums-cmake-prefix.patch")))) (build-system cmake-build-system) (inputs From 055104ee56cf34089f6ae12934cd1fece507fe6c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 18:09:23 +0100 Subject: [PATCH 0055/1003] gnu: gron: Update to 0.6.1. * gnu/packages/golang.scm (go-github-com-tomnomnom-gron): Update to 0.6.1. --- gnu/packages/golang.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index e54496c9aa..dd50da1c8e 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Leo Famulari ;;; Copyright © 2017 Sergei Trofimovich ;;; Copyright © 2017 Alex Vong -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2021 Tobias Geerinckx-Rice ;;; Copyright © 2018 Christopher Baines ;;; Copyright © 2018 Tomáš Čech ;;; Copyright © 2018 Pierre-Antoine Rouby @@ -1470,7 +1470,7 @@ optimized for performance yet simple to use.") (define-public go-github-com-tomnomnom-gron (package (name "gron") - (version "0.6.0") + (version "0.6.1") (home-page "https://github.com/tomnomnom/gron") (source (origin @@ -1480,7 +1480,7 @@ optimized for performance yet simple to use.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "05f3w4zr15wd7xk75l12y5kip4gnv719a2x9w2hy23q3pnss9wk0")))) + (base32 "0qmzawkhg0qn9kxxrssbdjni2khvamhrcklv3yxc0ljmh77mh61m")))) (build-system go-build-system) (arguments (let ((import-path "github.com/tomnomnom/gron")) From 46fdee4fe1bbc795f0cbafc661992abaf57dfea2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 6 Mar 2021 20:43:37 +0100 Subject: [PATCH 0056/1003] gnu: telegram-desktop: Fix typo in description. * gnu/packages/telegram.sc (telegram-desktop)[description]: Fix typo. --- gnu/packages/telegram.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm index daff57a544..82d1dc463c 100644 --- a/gnu/packages/telegram.scm +++ b/gnu/packages/telegram.scm @@ -561,7 +561,7 @@ Telegram project, for its use in telegram desktop client.") `(("dconf" ,dconf))) (synopsis "Telegram Desktop") (description "Telegram desktop is the official desktop version of the -Telegram instant messager.") +Telegram instant messenger.") (home-page "https://desktop.telegram.org/") (license (list From 8a920dc6716599e58776d41f73b0aff4281530ed Mon Sep 17 00:00:00 2001 From: Leo Prikler Date: Sat, 6 Mar 2021 21:36:31 +0100 Subject: [PATCH 0057/1003] gnu: orchis-theme: Fix misleading comment. * gnu/packages/gnome-xyz.scm (orchis-theme)[license]: Adjust comment. --- gnu/packages/gnome-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index e481a10e11..55af65b686 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -835,7 +835,7 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.") (description "Orchis is a Material Design them for GNOME/GTK based desktop environments. It is based on materia-theme and adds more color variants.") - (license (list license:gpl3 ; Claimed by README.md. + (license (list license:gpl3 ; According to COPYING. license:lgpl2.1 ; Some style sheets. license:cc-by-sa4.0)))) ; Some icons From 6bf49dfa2606071fcd023f5487b7798fa2383a5e Mon Sep 17 00:00:00 2001 From: Alexandru-Sergiu Marton Date: Sat, 6 Mar 2021 23:00:49 +0200 Subject: [PATCH 0058/1003] gnu: dunst: Update to 1.6.1. * gnu/packages/dunst.scm (dunst): Update to 1.6.1. Signed-off-by: Brice Waegeneire --- gnu/packages/dunst.scm | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/gnu/packages/dunst.scm b/gnu/packages/dunst.scm index 2741336746..ce2c04bac6 100644 --- a/gnu/packages/dunst.scm +++ b/gnu/packages/dunst.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019 Efraim Flashner ;;; Copyright © 2020 Brice Waegeneire +;;; Copyright © 2021 Alexandru-Sergiu Marton ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,6 +24,7 @@ #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix utils) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages base) #:use-module (gnu packages freedesktop) @@ -36,7 +38,7 @@ (define-public dunst (package (name "dunst") - (version "1.5.0") + (version "1.6.1") (source (origin (method git-fetch) (uri (git-reference @@ -45,25 +47,20 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0irwkqcgwkqaylcpvqgh25gn2ysbdm2kydipxfzcq1ddj9ns6f9c")))) + "0lga1kj2vjbj9g9rl93nivngjmk5fkxdxwal8w96x9whwk9jvdga")))) (build-system gnu-build-system) (arguments - '(#:tests? #f ; no check target - #:make-flags (list "CC=gcc" + `(#:tests? #f ; no check target + #:make-flags (list (string-append "CC=" ,(cc-for-target)) (string-append "PREFIX=" %output) + (string-append "SYSCONFDIR=" %output "/etc") ;; Otherwise it tries to install service file ;; to "dbus" store directory. (string-append "SERVICEDIR_DBUS=" %output "/share/dbus-1/services") "dunstify") #:phases (modify-phases %standard-phases - (delete 'configure) - (add-after 'install 'install-dunstify - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (install-file "dunstify" - (string-append out "/bin"))) - #t))))) + (delete 'configure)))) (native-inputs `(("pkg-config" ,pkg-config) ("perl" ,perl) ; for pod2man @@ -79,7 +76,8 @@ ("libxscrnsaver" ,libxscrnsaver) ("libxinerama" ,libxinerama) ("libxrandr" ,libxrandr) - ("libxdg-basedir" ,libxdg-basedir))) + ("libxdg-basedir" ,libxdg-basedir) + ("wayland" ,wayland))) ; for wayland support (home-page "https://dunst-project.org/") (synopsis "Customizable and lightweight notification daemon") (description From 18d9eb223ed427cc308f02f1012a6f1304232761 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 7 Mar 2021 12:54:58 +0100 Subject: [PATCH 0059/1003] gnu: xf86-video-nouveau: Update to 1.0.17. * gnu/packages/xorg.scm (xf86-video-nouveau): Update to 1.0.17. --- gnu/packages/xorg.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 597e0b86b6..2ee617aa55 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -3193,17 +3193,14 @@ supported, and the RENDER extension is not accelerated by this driver.") (define-public xf86-video-nouveau (package (name "xf86-video-nouveau") - (version "1.0.16") + (version "1.0.17") (source (origin (method url-fetch) - (uri (string-append - "mirror://xorg/individual/driver/xf86-video-nouveau-" - version - ".tar.bz2")) + (uri (string-append "mirror://xorg/individual/driver/xf86-video-nouveau-" + version ".tar.bz2")) (sha256 - (base32 - "01mz8gnq7j6bvrqb2ljm3d1wpjhi9p2z2w8zbkdrqmqmcj060h1h")))) + (base32 "0sqm1jwjg15sp8v7039y2hsbhph8gpjd2bdzcqqiij2mgbi254s9")))) (build-system gnu-build-system) (inputs `(("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) From 6b2684c732aee89dd0eec8e32446fcc9be1db654 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 7 Mar 2021 12:55:08 +0100 Subject: [PATCH 0060/1003] gnu: nginx: Update to 1.19.7. * gnu/packages/web.scm (nginx): Update to 1.19.7. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 9892dde0b9..23244d151a 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -292,14 +292,14 @@ the same, being completely separated from the Internet.") ;; ’stable’ and recommends that “in general you deploy the NGINX mainline ;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/) ;; Consider updating the nginx-documentation package together with this one. - (version "1.19.6") + (version "1.19.7") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "1d9kzks8x1226prjbpdin4dz93fjnv304zlqybfqachx5fh9a4di")))) + "03mmfnkhayn8vm2yhs3ngvif6275c368ymx8wvhsbls11h1dvr3s")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("pcre" ,pcre) From fa8288230192dd3d4df0e81aa0e47281b66c0cbc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 7 Mar 2021 12:55:19 +0100 Subject: [PATCH 0061/1003] gnu: nginx-documentation: Update to 1.19.7. * gnu/packages/web.scm (nginx-documentation): Update to 1.19.7. 2655 eb417a9a089b --- gnu/packages/web.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 23244d151a..836328d758 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -382,9 +382,9 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.") (define-public nginx-documentation ;; This documentation should be relevant for the current nginx package. - (let ((version "1.19.6") - (revision 2636) - (changeset "a0824dab33ff")) + (let ((version "1.19.7") + (revision 2655) + (changeset "eb417a9a089b")) (package (name "nginx-documentation") (version (simple-format #f "~A-~A-~A" version revision changeset)) @@ -396,7 +396,7 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.") (file-name (string-append name "-" version)) (sha256 (base32 - "06w6fg33pnkqpaagzp9rqizill61vj7db7083mrd6i6by0j7cp1b")))) + "0l4rachjn5gr705f50d9pwgqzkb4fqd4fzz7083ilfarpg36wgv2")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no test suite From a04b285cf54deec630b577445dfa0c05daef3261 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 7 Mar 2021 14:14:28 +0100 Subject: [PATCH 0062/1003] gnu: get-iplayer: Update to 3.27. * gnu/packages/video.scm (get-iplayer): Update to 3.27. --- gnu/packages/video.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 4cc1f0b441..bcda41a292 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -5032,7 +5032,7 @@ brightness, contrast, and frame rate.") (define-public get-iplayer (package (name "get-iplayer") - (version "3.26") + (version "3.27") (source (origin (method git-fetch) @@ -5041,11 +5041,10 @@ brightness, contrast, and frame rate.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0lsz5hz1ia5j612540rb0f31y7j2k5gf7x5i43l8k06b90wi73d6")))) + (base32 "077y31gg020wjpx5pcivqgkqawcjxh5kjnvq97x2gd7i3wwc30qi")))) (build-system perl-build-system) (arguments - `(#:tests? #f ; no tests + `(#:tests? #f ; no tests #:phases (modify-phases %standard-phases (delete 'configure) From 99146ab871de1567e52b4b60f65fc02d9f46d723 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 7 Mar 2021 14:14:40 +0100 Subject: [PATCH 0063/1003] gnu: xonsh: Update to 0.9.27. * gnu/packages/shells.scm (xonsh): Update to 0.9.27. --- gnu/packages/shells.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index bb49833912..34ef460e10 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -524,13 +524,13 @@ ksh, and tcsh.") (define-public xonsh (package (name "xonsh") - (version "0.9.26") + (version "0.9.27") (source (origin (method url-fetch) (uri (pypi-uri "xonsh" version)) (sha256 - (base32 "00cfhl17hvycqv4vly8cdfj82949hn7572d910z7qkkqy6yy9957")) + (base32 "1maz7yvb5py91n699yqsna81x2i25mvrqkrcn7h7870nxd87ral2")) (modules '((guix build utils))) (snippet `(begin From ca9912cb2055e33c15cdc5933c40aefb97c75510 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 7 Mar 2021 14:27:17 +0100 Subject: [PATCH 0064/1003] gnu: skalibs: Update to 2.10.0.2. * gnu/packages/skarnet.scm (skalibs): Update to 2.10.0.2. --- gnu/packages/skarnet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 8e8abffbfb..5b5b232d62 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -30,14 +30,14 @@ (define-public skalibs (package (name "skalibs") - (version "2.10.0.1") + (version "2.10.0.2") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/skalibs/skalibs-" version ".tar.gz")) (sha256 - (base32 "1chwjzlh13jbrldk77h3i4qjqv8hjpvvd3papcb8j46mvj7sxysg")))) + (base32 "03qyi77wgcw3nzy7i932wd98d6j7nnzxc8ddl973vf5sa1v3vflb")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests exist From 4607fe2cdbc8dc1be7ca7139c789ed721eb31477 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 7 Mar 2021 14:27:24 +0100 Subject: [PATCH 0065/1003] gnu: execline: Update to 2.8.0.0. * gnu/packages/skarnet.scm (execline): Update to 2.8.0.0. --- gnu/packages/skarnet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 5b5b232d62..1af210d839 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -62,14 +62,14 @@ and file system operations. It is used by all skarnet.org software.") (define-public execline (package (name "execline") - (version "2.7.0.1") + (version "2.8.0.0") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/execline/execline-" version ".tar.gz")) (sha256 - (base32 "1pfwiynr3vk7ajzknjqs5mpzb78m97aqcsd3mc34lxkzz5j13xnd")))) + (base32 "0vbn4pdazy6x6213vn42k0khcij5bvkbrcfg7nw6inhf8154nx77")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments From 27ffa16c5821f69f4fe3efcffde76cff9c58b9e0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 7 Mar 2021 14:27:30 +0100 Subject: [PATCH 0066/1003] gnu: s6: Update to 2.10.0.2. * gnu/packages/skarnet.scm (s6): Update to 2.10.0.2. --- gnu/packages/skarnet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 1af210d839..5e90fadcc2 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -104,14 +104,14 @@ complexity."))) (define-public s6 (package (name "s6") - (version "2.10.0.1") + (version "2.10.0.2") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/s6/s6-" version ".tar.gz")) (sha256 - (base32 "1xfil1a138k7a83rqmrgmhklmasgspgdqszn8nyyn3vrnh7ny0nh")))) + (base32 "08bcrp7ck1l3wmjyzxi3vgk6j0n2jfymxs4rjjw4if40f3lgqfmj")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs) ("execline" ,execline))) From eafce719f100ead10421ecbdf9f3b978f14da73b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 7 Mar 2021 14:27:38 +0100 Subject: [PATCH 0067/1003] gnu: s6-networking: Update to 2.4.1.0. * gnu/packages/skarnet.scm (s6-networking): Update to 2.4.1.0. --- gnu/packages/skarnet.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 5e90fadcc2..10397d662f 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -179,14 +179,14 @@ as an alternative to the BIND, djbdns or other DNS clients."))) (define-public s6-networking (package (name "s6-networking") - (version "2.4.0.0") + (version "2.4.1.0") (source (origin (method url-fetch) - (uri (string-append "https://skarnet.org/software/s6-networking/s6-networking-" - version ".tar.gz")) + (uri (string-append "https://skarnet.org/software/s6-networking/" + "s6-networking-" version ".tar.gz")) (sha256 - (base32 "1yqykwfl5jnkxgr6skfj5kzd896pknij0hi5m7lj0r18jpfs5zgq")))) + (base32 "023wnayv1gddklnsh3qv7i5jfy2fisbp24wa0nzjg0nfq3p807yc")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs) ("execline" ,execline) From a20ce91b49332020d49149f68d5151a87e689c36 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 7 Mar 2021 14:27:46 +0100 Subject: [PATCH 0068/1003] gnu: s6-linux-init: Update to 1.0.6.1. * gnu/packages/skarnet.scm (s6-linux-init): Update to 1.0.6.1. --- gnu/packages/skarnet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 10397d662f..4ada54a842 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -295,7 +295,7 @@ systems and other constrained environments, but they work everywhere."))) (define-public s6-linux-init (package (name "s6-linux-init") - (version "1.0.6.0") + (version "1.0.6.1") (source (origin (method url-fetch) @@ -303,7 +303,7 @@ systems and other constrained environments, but they work everywhere."))) "https://skarnet.org/software/s6-linux-init/s6-linux-init-" version ".tar.gz")) (sha256 - (base32 "0kzif3dqhm7h4h7c6npzdbcy7w756222g8ysw116fgb8j385dr6w")))) + (base32 "0sq8ya39a1qs61cdjns8ijwrvxnqd4snk2ab4j5wl9a87i7wixhn")))) (build-system gnu-build-system) (inputs `(("execline" ,execline) From f5f41b4261580b50cb40de5d3244bb2602e4a1a3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 7 Mar 2021 14:34:25 +0100 Subject: [PATCH 0069/1003] gnu: straw-viewer: Update to 0.1.3. * gnu/packages/video.scm (straw-viewer): Update to 0.1.3. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index bcda41a292..a46a55e855 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1014,7 +1014,7 @@ H.264 (MPEG-4 AVC) video streams.") (define-public straw-viewer (package (name "straw-viewer") - (version "0.1.2") + (version "0.1.3") (source (origin (method git-fetch) @@ -1023,7 +1023,7 @@ H.264 (MPEG-4 AVC) video streams.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1s6w8m9377ajy21x7lf6mbgp5yk5i70nhzmqscibjnarr3xfg9zs")))) + (base32 "1n21byn7hqykpm94jmmnir1fwsskq6dp9wgj0bd2qf0qx5nq33cl")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) From 291a26dbca8a52cce32798b544dce306a6b7dfa6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 7 Mar 2021 14:34:37 +0100 Subject: [PATCH 0070/1003] gnu: libupnp: Update to 1.14.2. * gnu/packages/upnp.scm (libupnp): Update to 1.14.2. --- gnu/packages/upnp.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index 8f4e9952f2..33f3fb21c0 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2015 Federico Beffa -;;; Copyright © 2016, 2017, 2018, 2020 Tobias Geerinckx-Rice +;;; Copyright © 2016, 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice ;;; Copyright © 2018 Theodoros Foradis ;;; Copyright © 2019 Jens Mølgaard ;;; Copyright © 2020 Jan Wielkiewicz @@ -96,15 +96,14 @@ over IRC, instant messaging, network games, and most server software.") (define-public libupnp (package (name "libupnp") - (version "1.14.0") + (version "1.14.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/pupnp/pupnp/releases/download" "/release-" version "/libupnp-" version".tar.bz2")) (sha256 - (base32 - "1sswsdqzarrd6h9mld2lncbcrfhd4p16zcafvmxqm34nj513vcpc")))) + (base32 "0w62sn95fnp12qwz5nid6ksg2h9k0k6rinz00p8m3jd4j5dh9qzz")))) (native-inputs `(("pkg-config" ,pkg-config))) (build-system gnu-build-system) From ba35d2b56565016a296846e9f190bcfec86d1e1b Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sun, 7 Mar 2021 17:45:50 +0100 Subject: [PATCH 0071/1003] gnu: python-pikepdf: Update to 2.8.0.post1. * gnu/packages/python-xyz.scm (python-pikepdf): Update to 2.8.0.post1. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index aec5b5e77a..912b9db62b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5808,13 +5808,13 @@ the OleFileIO module from PIL, the Python Image Library.") (define-public python-pikepdf (package (name "python-pikepdf") - (version "2.8.0") + (version "2.8.0.post1") (source (origin (method url-fetch) (uri (pypi-uri "pikepdf" version)) (sha256 - (base32 "1dfc8a7gp6ib6a2gdx6fz2zvvk4yx8vr2m7b6044rk91vpyrdzvl")))) + (base32 "08miajml3mzlaqxr8phzymshmkkm93f8vv1dvq5gzkj15kysqhpp")))) (build-system python-build-system) (arguments `(#:tests? #false)) ;require python-xmp-toolkit From acec0d9f5d25e06c898fcba7b9fac315918d35de Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sun, 7 Mar 2021 17:51:51 +0100 Subject: [PATCH 0072/1003] gnu: emacs-ctrlf: Update to 1.3. * gnu/packages/emacs-xyz.scm (emacs-ctrlf): Update to 1.3. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e1726731b3..960a5668ca 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -2058,7 +2058,7 @@ is set.") (define-public emacs-ctrlf (package (name "emacs-ctrlf") - (version "1.2") + (version "1.3") (source (origin (method git-fetch) @@ -2067,7 +2067,7 @@ is set.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1f0k3432brc96am6az6xr1nks1vacqzixhdgwfn2xklb8if9a5xi")))) + (base32 "06wq6scqy2ax0h6aahy2r7hn3bbmkzl4w99bkrc3cqd4ij78sc8g")))) (build-system emacs-build-system) (home-page "https://github.com/raxod502/ctrlf/") (synopsis "Single-buffer text search in Emacs") From a4640f40fb155b37282450da1b12caa2c705eb50 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sun, 7 Mar 2021 18:00:16 +0100 Subject: [PATCH 0073/1003] gnu: snap: Update to 6.6.0. * gnu/packages/education.scm (snap): Update to 6.6.0. --- gnu/packages/education.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index c4ddc24ec7..365bb9864f 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -276,7 +276,7 @@ easy.") (define-public snap (package (name "snap") - (version "6.5.0") + (version "6.6.0") (source (origin (method git-fetch) @@ -285,7 +285,7 @@ easy.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0sqd4ddkfc7f7gx02wffvwbqgfbhpkcgyv7v5rh3gx60jca02p4w")))) + (base32 "1k0j0sp6zz2hnh7zc7f086zc3sld01h7sk277j6fak914yv6slzy")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) From 0bcf42a403ca4f0deefc2269b0ba96d136e9e3c2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 7 Mar 2021 22:31:44 +0200 Subject: [PATCH 0074/1003] gnu: ruby-memory-profiler: Remove unneeded input. * gnu/packages/ruby.scm (ruby-memory-profiler)[propagated-inputs]: Remove ruby-rake. --- gnu/packages/ruby.scm | 2 -- 1 file changed, 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 39e1792471..ca09167fec 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7849,8 +7849,6 @@ Profiling multiple threads simultaneously is supported. (base32 "07yqv11q68xg2fqkrhs6ysngryk8b9zq6qzh24rgx9xqv6qfnj0w")))) (build-system ruby-build-system) - (native-inputs - `(("ruby-rake" ,ruby-rake))) (synopsis "Memory profiling routines for Ruby") (description "This package provides memory profiling routines for Ruby.") From 5a7e86f8b5a29b3df071054c8181f0e29f67491d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 7 Mar 2021 22:34:25 +0200 Subject: [PATCH 0075/1003] gnu: ruby-rubocop: Build without ruby-memory-profiler. Ruby-memory-profiler isn't required for the test suite and it fails to build on some architectures. * gnu/packages/ruby.scm (ruby-rubocop)[native-inputs]: Remove ruby-memory-profiler. --- gnu/packages/ruby.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ca09167fec..cfa071e46f 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7384,7 +7384,6 @@ run.") #t))))) (native-inputs `(("ruby-bump" ,ruby-bump) - ("ruby-memory-profiler" ,ruby-memory-profiler) ("ruby-pry" ,ruby-pry) ("ruby-rake" ,ruby-rake) ("ruby-rspec" ,ruby-rspec) From 2e9fe98a4bafd6243baa2a50f8771e49fae30d66 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Sat, 6 Mar 2021 23:50:37 -0500 Subject: [PATCH 0076/1003] gnu: nimf: Use separate outputs for gtk and qt modules. * gnu/packages/language.scm (nimf) [outputs]: Add gtk and qt. [arguments]<#:phases>['patch-paths]: Modify. Signed-off-by: Leo Famulari --- gnu/packages/language.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 576a1c14ab..9bf94271b4 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -83,7 +83,7 @@ (sha256 (base32 "01qi7flmaqrn2fk03sa42r0caks9d8lsv88s0bgxahhxwk1x76gc")))) (build-system glib-or-gtk-build-system) - (outputs '("out" "doc")) + (outputs '("out" "gtk" "qt" "doc")) (arguments `(#:imported-modules (,@%glib-or-gtk-build-system-modules @@ -132,18 +132,18 @@ "/bin:$GTK2_LIBDIR/libgtk2.0-0"))) (substitute* "modules/clients/gtk/Makefile.am" (("\\$\\(GTK3_LIBDIR\\)") - (string-append (assoc-ref outputs "out") + (string-append (assoc-ref outputs "gtk") "/lib")) (("\\$\\(GTK2_LIBDIR\\)") - (string-append (assoc-ref outputs "out") + (string-append (assoc-ref outputs "gtk") "/lib"))) (substitute* "modules/clients/qt4/Makefile.am" (("\\$\\(QT4_LIB_DIR\\)") - (string-append (assoc-ref outputs "out") + (string-append (assoc-ref outputs "qt") "/lib"))) (substitute* "modules/clients/qt5/Makefile.am" (("\\$\\(QT5_IM_MODULE_DIR\\)") - (string-append (assoc-ref outputs "out") + (string-append (assoc-ref outputs "qt") "/lib/qt5/plugins/inputmethods"))) (substitute* '("bin/nimf-settings/Makefile.am" "data/apparmor-abstractions/Makefile.am" From 76c32fcab4e476181fffba2710166b6ac060290c Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Sun, 7 Mar 2021 00:30:36 -0500 Subject: [PATCH 0077/1003] gnu: nimf: Disable qt4 support. * gnu/packages/language.scm (nimf) [arguments]: Add new phase 'disable-qt4 and modify phase 'patch-paths. [inputs]: Remove qt4. Signed-off-by: Leo Famulari --- gnu/packages/language.scm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 9bf94271b4..d4b9b8d4cb 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -103,7 +103,15 @@ "/share/gtk-doc/html")) #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-flags + (add-after 'unpack 'disable-qt4 + (lambda _ + (substitute* '("configure.ac" "modules/clients/Makefile.am") + (("\\[QtGui\\]") + "[Qt5Gui]") + ((" qt4") + "")) + #t)) + (add-after 'disable-qt4 'patch-flags (lambda* (#:key inputs #:allow-other-keys) (substitute* "configure.ac" (("-Werror") @@ -137,10 +145,6 @@ (("\\$\\(GTK2_LIBDIR\\)") (string-append (assoc-ref outputs "gtk") "/lib"))) - (substitute* "modules/clients/qt4/Makefile.am" - (("\\$\\(QT4_LIB_DIR\\)") - (string-append (assoc-ref outputs "qt") - "/lib"))) (substitute* "modules/clients/qt5/Makefile.am" (("\\$\\(QT5_IM_MODULE_DIR\\)") (string-append (assoc-ref outputs "qt") @@ -180,7 +184,6 @@ ("hangul" ,libhangul) ("m17n-db" ,m17n-db) ("m17n-lib" ,m17n-lib) - ("qt-4" ,qt-4) ("qtbase" ,qtbase) ("rime" ,librime) ("rsvg" ,librsvg) From 387cac30bc4161055aba0c51e798a440f44592c2 Mon Sep 17 00:00:00 2001 From: LibreMiami Date: Sat, 6 Mar 2021 02:17:21 +0000 Subject: [PATCH 0078/1003] gnu: Add t. * gnu/packages/task-management.scm (t): New variable. Co-authored-by: jgart Co-authored-by: donotshake Co-authored-by: Raghav Gururajan Signed-off-by: Nicolas Goaziou --- gnu/packages/task-management.scm | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm index 99bff5aa23..9667df6030 100644 --- a/gnu/packages/task-management.scm +++ b/gnu/packages/task-management.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2020 Vinicius Monego ;;; Copyright © 2021 Eric Bavier ;;; Copyright © 2021 Stefan Reichör +;;; Copyright © 2021 LibreMiami ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,13 +33,42 @@ #:use-module (gnu packages lua) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages tls) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix hg-download) #:use-module (guix utils) #:use-module (guix build-system cmake) #:use-module (guix build-system go) - #:use-module (guix build-system meson)) + #:use-module (guix build-system meson) + #:use-module (guix build-system python)) + +(define-public t + ;; Last release is more than 10 years old. Using latest commit. + (let ((changeset "89ad444c000b") + (revision "97")) + (package + (name "t") + (version (git-version "1.2.0" revision changeset)) + (source + (origin + (method hg-fetch) + (uri (hg-reference + (url "https://hg.stevelosh.com/t") + (changeset changeset))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 "0c8zn7l0xq65wp07h7mxnb5ww56d1443l2vkjvx5sj6wpcchfn0s")))) + (build-system python-build-system) + (native-inputs + `(("python-cram" ,python-cram))) + (synopsis "Command-line todo list manager") + (description + "@command{t} is a command-line todo list manager for people that want +to finish tasks, not organize them.") + (home-page "https://stevelosh.com/projects/t/") + (license license:expat)))) (define-public taskwarrior (package From 2fa624ddd16c3a8c6180b441c8e9f520816225f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Reich=C3=B6r?= Date: Fri, 5 Mar 2021 22:46:42 +0100 Subject: [PATCH 0079/1003] gnu: Add xzgv. * gnu/packages/image-viewers.scm (xzgv): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/image-viewers.scm | 38 ++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index bddf86568c..b7c1ebc829 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2020 Pierre Neidhardt ;;; Copyright © 2021 Rovanion Luckey ;;; Copyright © 2021 Xinglu Chen +;;; Copyright © 2021 Stefan Reichör ;;; ;;; This file is part of GNU Guix. ;;; @@ -748,3 +749,40 @@ allows creating false color images. A unique feature of Nomacs is the synchronization of multiple instances.") (home-page "https://nomacs.org/") (license license:gpl3+))) + +(define-public xzgv + (package + (name "xzgv") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/xzgv/" + version "/xzgv-" version ".tar.gz")) + (sha256 + (base32 "17l1xr9v07ggwga3vn0z1i4lnwjrr20rr8z1kjbw71aaijxl18i5")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'override-target-directory + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "config.mk" + (("/usr/local") (assoc-ref outputs "out"))))) + (delete 'configure) ; no configure script + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (install-file "src/xzgv" bin))))) ; just install the executable + #:tests? #f)) ; no rule for target 'test' + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("gtk+" ,gtk+-2) + ("libexif" ,libexif))) + (home-page "https://sourceforge.net/projects/xzgv/") + (synopsis "Picture viewer for X with a thumbnail-based selector") + (description + "xzgv is a fast image viewer that provides extensive keyboard support.") + (license license:gpl2+))) From 89f5cec879473ded8f0ffb3e563f08efb0f71890 Mon Sep 17 00:00:00 2001 From: Xinglu Chen Date: Sun, 7 Mar 2021 20:27:46 +0100 Subject: [PATCH 0080/1003] gnu: fetchmail: Update to 6.4.17. * gnu/packages/mail.scm (fetchmail): Update to 6.4.17. Signed-off-by: Nicolas Goaziou --- gnu/packages/mail.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index dd166ca97b..d21c0e204d 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -40,6 +40,7 @@ ;;; Copyright © 2020 Oleg Pykhalov ;;; Copyright © 2020 B. Wilson ;;; Copyright © 2020 divoplade +;;; Copyright © 2021 Xinglu Chen ;;; ;;; This file is part of GNU Guix. ;;; @@ -410,7 +411,7 @@ to run without any changes.") (define-public fetchmail (package (name "fetchmail") - (version "6.4.16") + (version "6.4.17") (source (origin (method url-fetch) @@ -418,7 +419,7 @@ to run without any changes.") (version-major+minor version) "/" "fetchmail-" version ".tar.xz")) (sha256 - (base32 "1fagi10fv8pdil6gss6a3ca3jbp3wbiyz7cp8ivsxyrsq059ljq4")))) + (base32 "1ijh9l7pg2yk5s5h1yj3vpd1az31giqy9bjrna10daj13gqws6x4")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl))) From 18aec6c93ad84069d70a6555c252e48a791a789c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Reich=C3=B6r?= Date: Sun, 7 Mar 2021 22:57:41 +0100 Subject: [PATCH 0081/1003] gnu: Add emacs-tup-mode. * gnu/packages/emacs-xyz.scm (emacs-tup-mode): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 960a5668ca..aeaedc2597 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -94,6 +94,7 @@ ;;; Copyright © 2021 Yurii Kholodkov ;;; Copyright © 2021 Alexey Abramov ;;; Copyright © 2021 Xinglu Chen +;;; Copyright © 2021 Stefan Reichör ;;; ;;; This file is part of GNU Guix. ;;; @@ -5313,6 +5314,28 @@ view the build status of those servers' build jobs, and possibly to trigger build jobs.") (license license:gpl3+))) +(define-public emacs-tup-mode + (package + (name "emacs-tup-mode") + (version "1.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ejmr/tup-mode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0asd024n5v23wdsg1959sszq568wg3a1bp4jrk0cllfji1z0n78y")))) + (build-system emacs-build-system) + (home-page "https://github.com/ejmr/tup-mode") + (synopsis "Major mode for editing ``tupfiles'' used by the Tup build system") + (description + "Tup mode provides syntax highlighting for all of the elements of +tupfiles, such as rule definitions, user-defined variables, macros, flags, bin +variables, and so on. The mode also allows you to execute Tup commands.") + (license license:gpl3+))) + (define-public emacs-company (package (name "emacs-company") From f4a435cccad892b8b7892ce9795e5cf039c1d2fe Mon Sep 17 00:00:00 2001 From: Leo Prikler Date: Sun, 7 Mar 2021 16:33:08 +0100 Subject: [PATCH 0082/1003] gnu: orchis-theme: Update to 2021-02-28. * gnu/packages/gnome-xyz.scm (orchis-theme): Update to 2021-02-28. --- gnu/packages/gnome-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index 55af65b686..de43d255f0 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -784,7 +784,7 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.") (define-public orchis-theme (package (name "orchis-theme") - (version "2021-01-22") + (version "2021-02-28") (source (origin (method git-fetch) @@ -795,7 +795,7 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.") (file-name (git-file-name name version)) (sha256 (base32 - "1m0wilvrscg2xnkp6a90j0iccxd8ywvfpza1345sc6xmml9gvjzc")) + "1qp3phiza93qllrjm5xjjca5b7l2sbng8c382khy9m97grxvcq0y")) (modules '((guix build utils) (ice-9 regex) (srfi srfi-26))) From c4195a1078336281592394ff9585c85e8d2f6e6d Mon Sep 17 00:00:00 2001 From: Leo Prikler Date: Sun, 7 Mar 2021 16:33:24 +0100 Subject: [PATCH 0083/1003] gnu: orchis-theme: Build all versions. * gnu/packages/gnome-xyz.scm (orchis-theme)[arguments]: Add #:configure-flags. Use them in 'install phase. --- gnu/packages/gnome-xyz.scm | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index de43d255f0..f73001f64b 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -811,19 +811,25 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.") #t)))) (build-system gnu-build-system) (arguments - '(#:tests? #f ; no tests + `(#:configure-flags (list + "--dest" (string-append + (assoc-ref %outputs "out") + "/share/themes") + "--theme" "all" + "--radio-color") + #:tests? #f ; no tests #:phases (modify-phases %standard-phases (delete 'bootstrap) (delete 'configure) (replace 'build (lambda _ (invoke "./parse-sass.sh"))) (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((themes (string-append (assoc-ref outputs "out") - "/share/themes"))) - (mkdir-p themes) - (invoke "./install.sh" "-d" themes) - #t)))))) + (lambda* (#:key configure-flags #:allow-other-keys) + (mkdir-p + (cadr (or (member "--dest" configure-flags) + (member "-d" configure-flags)))) + (apply invoke "./install.sh" configure-flags) + #t))))) (inputs `(("gtk-engines" ,gtk-engines))) (native-inputs From ed128a6bbc507de2c4440e66698c638a0cac316b Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Mon, 8 Mar 2021 09:31:04 +0100 Subject: [PATCH 0084/1003] gnu: lisp-repl-core-dumper: Update to 0.6.0. * gnu/packages/lisp.scm (lisp-repl-core-dumper): Update to 0.6.0. --- gnu/packages/lisp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 17d52995f6..a60f49a04a 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -1090,7 +1090,7 @@ assembler, PEG) is less than 1MB.") (define-public lisp-repl-core-dumper (package (name "lisp-repl-core-dumper") - (version "0.5.0") + (version "0.6.0") (source (origin (method git-fetch) @@ -1099,7 +1099,7 @@ assembler, PEG) is less than 1MB.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1hrilm9lxy7zdidn4wac4yfqryg3hfw0371nanhd7g9bcfjx7n1q")))) + (base32 "0f9rfi8lszm0v35f9vfxxdvwm8fc5909qdsrwj7c2jvl6iaa9n6p")))) (build-system copy-build-system) (arguments '(#:install-plan From 612dc6dbe0904f39238a89d3b63ee66abd861b51 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 8 Mar 2021 10:35:48 +0200 Subject: [PATCH 0085/1003] gnu: ruby-rake-compiler: Update to 1.1.1. * gnu/packages/ruby.scm (ruby-rake-compiler): Update to 1.1.1. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index cfa071e46f..f6a1c69c52 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -413,13 +413,13 @@ announcement.") (define-public ruby-rake-compiler (package (name "ruby-rake-compiler") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (rubygems-uri "rake-compiler" version)) (sha256 (base32 - "0l4hg21v0phfrfsc2hilgmwvn2imxr0byqh8dv16bya1s5d3km0q")))) + "11sxgw10jrd6a4irb51jjwam9wikixn5kss11pw4b80cmh32yvpf")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; needs cucumber From fe830ffd8d761cee27edd069e3d99c1ab891cbf3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 8 Mar 2021 15:48:08 +0200 Subject: [PATCH 0086/1003] gnu: libcaca: Patch for CVE-2021-3410. * gnu/packages/video.scm (libcaca)[source]: Add patches. * gnu/packages/patches/libcaca-CVE-2021-3410-pt1.patch, gnu/packages/patches/libcaca-CVE-2021-3410-pt2.patch: New files. * gnu/local.mk (dist_patch_DATA): Register them. --- gnu/local.mk | 2 + .../patches/libcaca-CVE-2021-3410-pt1.patch | 137 ++++++++++++++++++ .../patches/libcaca-CVE-2021-3410-pt2.patch | 96 ++++++++++++ gnu/packages/video.scm | 6 +- 4 files changed, 239 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/libcaca-CVE-2021-3410-pt1.patch create mode 100644 gnu/packages/patches/libcaca-CVE-2021-3410-pt2.patch diff --git a/gnu/local.mk b/gnu/local.mk index fb3b395852..3a516d487f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1266,6 +1266,8 @@ dist_patch_DATA = \ %D%/packages/patches/libbase-fix-includes.patch \ %D%/packages/patches/libbase-use-own-logging.patch \ %D%/packages/patches/libbonobo-activation-test-race.patch \ + %D%/packages/patches/libcaca-CVE-2021-3410-pt1.patch \ + %D%/packages/patches/libcaca-CVE-2021-3410-pt2.patch \ %D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \ %D%/packages/patches/libcanberra-wayland-crash.patch \ %D%/packages/patches/libcyaml-libyaml-compat.patch \ diff --git a/gnu/packages/patches/libcaca-CVE-2021-3410-pt1.patch b/gnu/packages/patches/libcaca-CVE-2021-3410-pt1.patch new file mode 100644 index 0000000000..b23b01d33a --- /dev/null +++ b/gnu/packages/patches/libcaca-CVE-2021-3410-pt1.patch @@ -0,0 +1,137 @@ +https://github.com/cacalabs/libcaca/commit/46b4ea7cea72d6b3ffe65d33e604b1774dcc2bbd.patch + +From 46b4ea7cea72d6b3ffe65d33e604b1774dcc2bbd Mon Sep 17 00:00:00 2001 +From: Sam Hocevar +Date: Fri, 26 Feb 2021 10:55:38 +0100 +Subject: [PATCH] canvas: fix an integer overflow in caca_resize(). + +Fixes: #52 (CVE-2021-3410) +--- + caca/canvas.c | 13 +++++++++++-- + caca/codec/import.c | 1 + + caca/codec/text.c | 21 ++++++++++++++------- + 3 files changed, 26 insertions(+), 9 deletions(-) + +diff --git a/caca/canvas.c b/caca/canvas.c +index 3fdd37ae..d0715392 100644 +--- a/caca/canvas.c ++++ b/caca/canvas.c +@@ -45,6 +45,7 @@ static int caca_resize(caca_canvas_t *, int, int); + * + * If an error occurs, NULL is returned and \b errno is set accordingly: + * - \c EINVAL Specified width or height is invalid. ++ * - \c EOVERFLOW Specified width and height overflowed. + * - \c ENOMEM Not enough memory for the requested canvas size. + * + * \param width The desired canvas width +@@ -200,6 +201,7 @@ int caca_unmanage_canvas(caca_canvas_t *cv, int (*callback)(void *), void *p) + * + * If an error occurs, -1 is returned and \b errno is set accordingly: + * - \c EINVAL Specified width or height is invalid. ++ * - \c EOVERFLOW Specified width and height overflowed. + * - \c EBUSY The canvas is in use by a display driver and cannot be resized. + * - \c ENOMEM Not enough memory for the requested canvas size. If this + * happens, the canvas handle becomes invalid and should not be used. +@@ -363,7 +365,7 @@ int caca_rand(int min, int max) + + int caca_resize(caca_canvas_t *cv, int width, int height) + { +- int x, y, f, old_width, old_height, new_size, old_size; ++ int x, y, f, old_width, old_height, old_size; + + old_width = cv->width; + old_height = cv->height; +@@ -375,7 +377,14 @@ int caca_resize(caca_canvas_t *cv, int width, int height) + * dirty rectangle handling */ + cv->width = width; + cv->height = height; +- new_size = width * height; ++ int new_size = width * height; ++ ++ /* Check for overflow */ ++ if (new_size / width != height) ++ { ++ seterrno(EOVERFLOW); ++ return -1; ++ } + + /* If width or height is smaller (or both), we have the opportunity to + * reduce or even remove dirty rectangles */ +diff --git a/caca/codec/import.c b/caca/codec/import.c +index 8836fd08..2dafe3cf 100644 +--- a/caca/codec/import.c ++++ b/caca/codec/import.c +@@ -61,6 +61,7 @@ static ssize_t import_caca(caca_canvas_t *, void const *, size_t); + * + * If an error occurs, -1 is returned and \b errno is set accordingly: + * - \c ENOMEM Not enough memory to allocate canvas. ++ * - \c EOVERFLOW Importing data caused a value overflow. + * - \c EINVAL Invalid format requested. + * + * \param cv A libcaca canvas in which to import the file. +diff --git a/caca/codec/text.c b/caca/codec/text.c +index 358b7224..94a2a4d7 100644 +--- a/caca/codec/text.c ++++ b/caca/codec/text.c +@@ -46,7 +46,7 @@ ssize_t _import_text(caca_canvas_t *cv, void const *data, size_t size) + char const *text = (char const *)data; + unsigned int width = 0, height = 0, x = 0, y = 0, i; + +- caca_set_canvas_size(cv, width, height); ++ caca_set_canvas_size(cv, 0, 0); + + for(i = 0; i < size; i++) + { +@@ -70,15 +70,19 @@ ssize_t _import_text(caca_canvas_t *cv, void const *data, size_t size) + if(y >= height) + height = y + 1; + +- caca_set_canvas_size(cv, width, height); ++ if (caca_set_canvas_size(cv, width, height) < 0) ++ return -1; + } + + caca_put_char(cv, x, y, ch); + x++; + } + +- if(y > height) +- caca_set_canvas_size(cv, width, height = y); ++ if (y > height) ++ { ++ if (caca_set_canvas_size(cv, width, height = y) < 0) ++ return -1; ++ } + + return (ssize_t)size; + } +@@ -431,7 +435,8 @@ ssize_t _import_ansi(caca_canvas_t *cv, void const *data, size_t size, int utf8) + { + savedattr = caca_get_attr(cv, -1, -1); + caca_set_attr(cv, im.clearattr); +- caca_set_canvas_size(cv, width = x + wch, height); ++ if (caca_set_canvas_size(cv, width = x + wch, height) < 0) ++ return -1; + caca_set_attr(cv, savedattr); + } + else +@@ -448,7 +453,8 @@ ssize_t _import_ansi(caca_canvas_t *cv, void const *data, size_t size, int utf8) + caca_set_attr(cv, im.clearattr); + if(growy) + { +- caca_set_canvas_size(cv, width, height = y + 1); ++ if (caca_set_canvas_size(cv, width, height = y + 1) < 0) ++ return -1; + } + else + { +@@ -480,7 +486,8 @@ ssize_t _import_ansi(caca_canvas_t *cv, void const *data, size_t size, int utf8) + { + savedattr = caca_get_attr(cv, -1, -1); + caca_set_attr(cv, im.clearattr); +- caca_set_canvas_size(cv, width, height = y); ++ if (caca_set_canvas_size(cv, width, height = y)) ++ return -1; + caca_set_attr(cv, savedattr); + } + diff --git a/gnu/packages/patches/libcaca-CVE-2021-3410-pt2.patch b/gnu/packages/patches/libcaca-CVE-2021-3410-pt2.patch new file mode 100644 index 0000000000..e6fd506b37 --- /dev/null +++ b/gnu/packages/patches/libcaca-CVE-2021-3410-pt2.patch @@ -0,0 +1,96 @@ +https://github.com/cacalabs/libcaca/commit/e4968ba6e93e9fd35429eb16895c785c51072015.patch +Patch adjusted to remove the lines modifying caca/t/canvas.cpp. This file does not exist in the current release. + +From e4968ba6e93e9fd35429eb16895c785c51072015 Mon Sep 17 00:00:00 2001 +From: Sam Hocevar +Date: Fri, 26 Feb 2021 12:40:06 +0100 +Subject: [PATCH] Fix a problem in the caca_resize() overflow detection and add + several unit tests. + +--- + caca/canvas.c | 16 ++++++++-------- + caca/t/canvas.cpp | 18 +++++++++++++++--- + tools/makefont.c | 22 +++++++++++++++++++--- + 3 files changed, 42 insertions(+), 14 deletions(-) + +diff --git a/caca/canvas.c b/caca/canvas.c +index d0715392..08c628c9 100644 +--- a/caca/canvas.c ++++ b/caca/canvas.c +@@ -367,6 +367,14 @@ int caca_resize(caca_canvas_t *cv, int width, int height) + { + int x, y, f, old_width, old_height, old_size; + ++ /* Check for overflow */ ++ int new_size = width * height; ++ if (new_size < 0 || (width > 0 && new_size / width != height)) ++ { ++ seterrno(EOVERFLOW); ++ return -1; ++ } ++ + old_width = cv->width; + old_height = cv->height; + old_size = old_width * old_height; +@@ -377,14 +385,6 @@ int caca_resize(caca_canvas_t *cv, int width, int height) + * dirty rectangle handling */ + cv->width = width; + cv->height = height; +- int new_size = width * height; +- +- /* Check for overflow */ +- if (new_size / width != height) +- { +- seterrno(EOVERFLOW); +- return -1; +- } + + /* If width or height is smaller (or both), we have the opportunity to + * reduce or even remove dirty rectangles */ +diff --git a/tools/makefont.c b/tools/makefont.c +index 226c8838..66718605 100644 +--- a/tools/makefont.c ++++ b/tools/makefont.c +@@ -40,7 +40,8 @@ + * and the UTF-8 glyphs necessary for canvas rotation and mirroring. */ + static unsigned int const blocklist[] = + { +- 0x0000, 0x0080, /* Basic latin: A, B, C, a, b, c */ ++ 0x0020, 0x0080, /* Basic latin: A, B, C, a, b, c */ ++#if 0 + 0x0080, 0x0100, /* Latin-1 Supplement: Ä, Ç, å, ß */ + 0x0100, 0x0180, /* Latin Extended-A: Ā č Ō œ */ + 0x0180, 0x0250, /* Latin Extended-B: Ǝ Ƹ */ +@@ -63,6 +64,7 @@ static unsigned int const blocklist[] = + 0x30a0, 0x3100, /* Katakana: ロ ル */ + 0xff00, 0xfff0, /* Halfwidth and Fullwidth Forms: A, B, C, a, b, c */ + 0x10400, 0x10450, /* Deseret: 𐐒 𐐋 */ ++#endif + 0, 0 + }; + +@@ -317,8 +319,22 @@ int main(int argc, char *argv[]) + printf_unicode(>ab[n]); + + if(gtab[n].same_as == n) +- printf_hex(" */ %s\n", +- glyph_data + gtab[n].data_offset, gtab[n].data_size); ++ { ++ char const *lut = " .:nmW@"; ++ printf("\n"); ++ for (int y = 0; y < height; ++y) ++ { ++ for (int x = 0; x < gtab[n].data_width; ++x) ++ { ++ int val = glyph_data[gtab[n].data_offset + y * gtab[n].data_width + x]; ++ char ch = lut[val * val * 7 / 256 / 256]; ++ printf("%c%c", ch, ch); ++ } ++ printf("\n"); ++ } ++ //printf_hex(" */ %s\n", ++ // glyph_data + gtab[n].data_offset, gtab[n].data_size); ++ } + else + { + printf(" is "); diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index a46a55e855..92ecfb99ff 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015, 2016 David Thompson ;;; Copyright © 2014, 2015, 2016, 2018, 2020 Mark H Weaver ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner ;;; Copyright © 2015 Andy Patterson ;;; Copyright © 2015, 2018, 2019, 2020 Ricardo Wurmus ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Alex Vong @@ -1234,7 +1234,9 @@ ASS/SSA (Advanced Substation Alpha/SubStation Alpha) subtitle format.") version ".tar.gz")) (sha256 (base32 - "1x3j6yfyxl52adgnabycr0n38j9hx2j74la0hz0n8cnh9ry4d2qj")))) + "1x3j6yfyxl52adgnabycr0n38j9hx2j74la0hz0n8cnh9ry4d2qj")) + (patches (search-patches "libcaca-CVE-2021-3410-pt1.patch" + "libcaca-CVE-2021-3410-pt2.patch")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) From 875b0bf640ce7a8d959b218c180a0b400b9d0290 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Sat, 6 Mar 2021 20:48:29 +0000 Subject: [PATCH 0087/1003] gnu: sbcl-cl-interpol: Update to 0.2.7-1.70a1137. * gnu/packages/lisp-xyz: (sbcl-cl-interpol): Update to 0.2.7-1.70a1137. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 161a15c44f..911712e978 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -7991,21 +7991,21 @@ intending to program in Lisp.") (sbcl-package->cl-source-package sbcl-antik)) (define-public sbcl-cl-interpol - (let ((commit "1fd288d861db85bc4677cff3cdd6af75fda1afb4") + (let ((commit "70a1137f41dd8889004dbab9536b1adeac2497aa") (revision "1")) (package (name "sbcl-cl-interpol") - (version (git-version "0.2.6" revision commit)) + (version (git-version "0.2.7" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/edicl/cl-interpol") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "cl-interpol" version)) (sha256 (base32 - "1hnikak52hmcq1r5f616m6qq1108qnkw80pja950nv1fq5p0ppjn")))) + "1kr00zf62m7la7rxa2m5w49r9cyzamc106hvjcc8ffmi7a4jw490")))) (build-system asdf-build-system/sbcl) (inputs `(("cl-unicode" ,sbcl-cl-unicode) From 4c3a003a5e0b48307630fc101767bc04ee0032a4 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Sat, 6 Mar 2021 20:53:59 +0000 Subject: [PATCH 0088/1003] gnu: sbcl-nodgui: Update to 0.1.1-1.4a9c2e7. * gnu/packages/lisp-xyz.scm: (sbcl-nodgui): Update to 0.1.1-1.4a9c2e7. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 911712e978..b48af1a880 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -9000,20 +9000,20 @@ for reading and writing JPEG image files.") (sbcl-package->ecl-package sbcl-cl-jpeg)) (define-public sbcl-nodgui - (let ((commit "bc59ed9b787dfc9e68ae3bd7f7e8507c5c619212") + (let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d") (revision "1")) (package (name "sbcl-nodgui") - (version (git-version "0.0.5" revision commit)) + (version (git-version "0.1.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://notabug.org/cage/nodgui.git") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "nodgui" version)) (sha256 - (base32 "0xx0dk54d882i598ydnwmy7mnfk0b7vib3ddsgpqxhjck1rwq8l8")))) + (base32 "1vgzzw459h32v2mi41cia6i940jqmvxlc8w3xj3516hbc2mqkaib")))) (build-system asdf-build-system/sbcl) (inputs `(("alexandria" ,sbcl-alexandria) From 3eec0e9b63c96f8839dff38881262865d8a14ec9 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Sat, 6 Mar 2021 21:51:32 +0000 Subject: [PATCH 0089/1003] gnu: Add cl-mount-info. * gnu/packages/lisp-xyz.scm (sbcl-cl-mount-info, cl-mount-info, ecl-cl-mount-info): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index b48af1a880..2563b8f799 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -15062,3 +15062,36 @@ Lisp.") (define-public cl-percent-encoding (sbcl-package->cl-source-package sbcl-percent-encoding)) + +(define-public sbcl-cl-mount-info + (let ((commit "2024f5037a7f63db3e3587dc9972cd7b9318f06b") + (revision "1")) + (package + (name "sbcl-cl-mount-info") + (version (git-version "0.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://notabug.org/cage/cl-mount-info.git") + (commit commit))) + (file-name (git-file-name "cl-mount-info" version)) + (sha256 + (base32 "0vza9gj9q42nzb5v8aj22lmn4aqx9vrddsb5a343nbwfz89hbh9x")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cffi" ,sbcl-cffi) + ("cl-ppcre" ,sbcl-cl-ppcre))) + (home-page "https://notabug.org/cage/cl-mount-info.git") + (synopsis "Library to get information about mounted filesystems") + (description + "CL-MOUNT-INFO is a Common Lisp wrapper around @code{getmntent(3)} and +related C functions to get information about the mounted file system.") + (license license:lgpl3)))) + +(define-public ecl-cl-mount-info + (sbcl-package->ecl-package sbcl-cl-mount-info)) + +(define-public cl-mount-info + (sbcl-package->cl-source-package sbcl-cl-mount-info)) From d5a474beaabdb73bc21820e4cc5e3eb36122bc8c Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Sat, 6 Mar 2021 21:56:49 +0000 Subject: [PATCH 0090/1003] gnu: Add cl-diskspace. * gnu/packages/lisp-xyz.scm: (sbcl-cl-diskspace, cl-diskspace, ecl-cl-diskspace): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 45 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 2563b8f799..35a119a0eb 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -15095,3 +15095,48 @@ related C functions to get information about the mounted file system.") (define-public cl-mount-info (sbcl-package->cl-source-package sbcl-cl-mount-info)) + +(define-public sbcl-cl-diskspace + (let ((commit "2dce2d0387d58221c452bd76c7b9b7a7de81ef55") + (revision "1")) + (package + (name "sbcl-cl-diskspace") + (version (git-version "0.3.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/muyinliu/cl-diskspace") + (commit commit))) + (file-name (git-file-name "cl-diskspace" version)) + (sha256 + (base32 "0l19hxqw6b8i5i1jdbr45k1xib9axcwdagsp3y8wkb35g6wwc0s7")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp" + (("grep") + (string-append (assoc-ref inputs "grep") "/bin/grep"))) + (substitute* "src/unix/cl-diskspace-list-all-disks-with-df.lisp" + (("/bin/df") + (which "df"))) + #t))))) + (inputs + `(("cl-ppcre" ,sbcl-cl-ppcre) + ("cffi" ,sbcl-cffi) + ("grep" ,grep))) + (home-page "https://github.com/muyinliu/cl-diskspace") + (synopsis "Disk space information library for Common Lisp") + (description + "CL-DISKSPACE is a Common Lisp library to list disks with the command +line tool @code{df} and get disk space information using @code{statvfs}.") + (license license:isc)))) + +(define-public ecl-cl-diskspace + (sbcl-package->ecl-package sbcl-cl-diskspace)) + +(define-public cl-diskspace + (sbcl-package->cl-source-package sbcl-cl-diskspace)) From 1f3b7c0289715dc44c96cf019b492c4a8993a875 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Sat, 6 Mar 2021 22:03:01 +0000 Subject: [PATCH 0091/1003] gnu: Add cl-chronicity. * gnu/packages/lisp-xyz.scm: (sbcl-chronicity, cl-chronicity, ecl-chronicity): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 35a119a0eb..e4f4caf595 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -4811,6 +4811,39 @@ Long Painful History of Time\".") (define-public ecl-local-time (sbcl-package->ecl-package sbcl-local-time)) +(define-public sbcl-chronicity + (package + (name "sbcl-chronicity") + (version "0.4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/chaitanyagupta/chronicity") + (commit (string-append "v" version)))) + (file-name (git-file-name "chronicity" version)) + (sha256 + (base32 "0rzrl9is2v1aqbm0sym0qx3blnpd0bl13dkkmll6mb3983k2mkax")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("lisp-unit" ,sbcl-lisp-unit))) + (inputs + `(("cl-interpol" ,sbcl-cl-interpol) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("local-time" ,sbcl-local-time))) + (home-page "https://github.com/chaitanyagupta/chronicity") + (synopsis "Natural language date and time parser for Common Lisp") + (description + "CHRONICITY is Common Lisp natural language date and time parser inspired +by Ruby's @code{Chronic}.") + (license license:bsd-3))) + +(define-public ecl-chronicity + (sbcl-package->ecl-package sbcl-chronicity)) + +(define-public cl-chronicity + (sbcl-package->cl-source-package sbcl-chronicity)) + (define-public sbcl-trivial-mimes (let ((commit "a741fc2f567a4f86b853fd4677d75e62c03e51d9") (revision "2")) From a0a2449df350bfff0a8ece713aa91d2faacde257 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Sat, 6 Mar 2021 22:06:45 +0000 Subject: [PATCH 0092/1003] gnu: Add cl-debug. * gnu/packages/lisp-xyz.scm: (sbcl-cl-debug, cl-debug, ecl-cl-debug): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index e4f4caf595..d7b694685d 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -5123,6 +5123,36 @@ macro for Common Lisp.") (define-public cl-printv (sbcl-package->cl-source-package sbcl-printv)) +(define-public sbcl-cl-debug + (let ((commit "b334280806104ee7f7d3aec666bf7e08d2f89b31") + (revision "1")) + (package + (name "sbcl-cl-debug") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kmx-io/cl-debug") + (commit commit))) + (file-name (git-file-name "cl-debug" version)) + (sha256 + (base32 "0w5vxbjsgr3zfpivdmghmhzxskfdvm1p34c8whwps2xlhypxsa78")))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/kmx-io/cl-debug") + (synopsis "Common Lisp cross-package debugging facility") + (description + "CL-DEBUG provides a unified way to enable or disable debug-specific code. +Debugging code can be enabled or disabled relative to program features denoted +by either a symbol or a keyword.") + (license license:isc)))) + +(define-public ecl-cl-debug + (sbcl-package->ecl-package sbcl-cl-debug)) + +(define-public cl-debug + (sbcl-package->cl-source-package sbcl-cl-debug)) + (define-public sbcl-verbose (let ((commit "c5b7ecd465be61b35af17ef57564697b88397174") (revision "1")) From 622489873bb0d46b2c27c127666f19f39fe4c559 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Sat, 6 Mar 2021 22:10:29 +0000 Subject: [PATCH 0093/1003] gnu: Add cl-parse. * gnu/packages/lisp-xyz.scm: (sbcl-parse, cl-parse, ecl-parse): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index d7b694685d..2dcffd4052 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -581,6 +581,34 @@ compatible with ANSI-compliant Common Lisp implementations.") (define-public ecl-cl-ppcre (sbcl-package->ecl-package sbcl-cl-ppcre)) +(define-public sbcl-parse + (let ((commit "2351ee78acac065fcf10b8713d3f404e2e910786") + (revision "1")) + (package + (name "sbcl-parse") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/massung/parse") + (commit commit))) + (file-name (git-file-name "parse" version)) + (sha256 + (base32 "0l18yabyh7jizm5lgvra0jxi8s1cfwghidi6ix1pyixjkdbjlmvy")))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/massung/parse") + (synopsis "Monadic parsing for Common Lisp") + (description + "PARSE is a simple token parsing library for Common Lisp.") + (license license:asl2.0)))) + +(define-public ecl-parse + (sbcl-package->ecl-package sbcl-parse)) + +(define-public cl-parse + (sbcl-package->cl-source-package sbcl-parse)) + (define-public sbcl-ubiquitous (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af") (revision "1")) From 1cf22d4759342ded292c93adf2b0231312622d00 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Sat, 6 Mar 2021 22:13:29 +0000 Subject: [PATCH 0094/1003] gnu: Add cl-re. * gnu/package/lisp-xyz.scm: (sbcl-re, cl-re, ecl-re): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 2dcffd4052..acef021314 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -609,6 +609,37 @@ compatible with ANSI-compliant Common Lisp implementations.") (define-public cl-parse (sbcl-package->cl-source-package sbcl-parse)) +(define-public sbcl-re + (let ((commit "cfbc1f482970221e80d445080a188fd5c755cd2c") + (revision "1")) + (package + (name "sbcl-re") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/massung/re") + (commit commit))) + (file-name (git-file-name "re" version)) + (sha256 + (base32 "1y2gq2sckspnq8118bix55p2j43dk9qn3p8a2rplp1ip2qxqbb1i")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("parse" ,sbcl-parse))) + (home-page "https://github.com/massung/re") + (synopsis "Lua-style Pattern Matching for Common Lisp") + (description + "RE is a small, portable, lightweight, and quick, regular +expression library for Common Lisp. It is a non-recursive, backtracing VM.") + (license license:asl2.0)))) + +(define-public ecl-re + (sbcl-package->ecl-package sbcl-re)) + +(define-public cl-re + (sbcl-package->cl-source-package sbcl-re)) + (define-public sbcl-ubiquitous (let ((commit "35eb7bd9e1b3daee1705f6b41260775180cce8af") (revision "1")) From 40d77b8fee903d9d67c22ea5169abe3cdeac39c2 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 8 Mar 2021 12:57:39 -0500 Subject: [PATCH 0095/1003] .guix-authorizations: Add lbraun. * .guix-authorizations: Add lbraun and "lbraun (professional)" to the committers. --- .guix-authorizations | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.guix-authorizations b/.guix-authorizations index 023d39fc45..4efcd80bd9 100644 --- a/.guix-authorizations +++ b/.guix-authorizations @@ -79,6 +79,10 @@ (name "jonsger")) ("83B6 703A DCCA 3B69 4BCE 2DA6 E6A5 EE3C 1946 7A0D" (name "kkebreau")) + ("017D 74E2 7F58 5696 3801 781D F663 943E 08D8 092A" + (name "lbraun")) + ("CA4F 8CF4 37D7 478F DA05 5FD4 4213 7701 1A37 8446" + (name "lbraun (professional)")) ("ACC2 3BA0 59F7 CCF4 08F0 43AD 442A 84B8 C70E 2F87" (name "leoprikler")) ("45E5 75FA 53EA 8BD6 1BCE 0B4E 3ADC 75F0 13D6 78F9" From 80599a739d04fb1830ee0169256021764784e850 Mon Sep 17 00:00:00 2001 From: Ron Nazarov via Guix-patches via Date: Sun, 7 Mar 2021 21:21:25 +0000 Subject: [PATCH 0096/1003] gnu: Add python-mistletoe. * gnu/packages/markup.scm (python-mistletoe): New variable. Signed-off-by: Tobias Geerinckx-Rice --- gnu/packages/markup.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm index 95a3eb269e..695eed67b1 100644 --- a/gnu/packages/markup.scm +++ b/gnu/packages/markup.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 EuAndreh +;;; Copyright © 2021 Noisytoot ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ #:use-module (guix build-system trivial) #:use-module (guix build-system cmake) #:use-module (guix build-system perl) + #:use-module (guix build-system python) #:use-module (guix utils) #:use-module (gnu packages compression) #:use-module (gnu packages) @@ -300,3 +302,25 @@ and smu is that smu doesn't support reference style links.") SAX-like interface. It is compliant to the CommonMark specification, with a few extensions.") (license expat))) + +(define-public python-mistletoe + (package + (name "python-mistletoe") + (version "0.7.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "mistletoe" version)) + (sha256 + (base32 "18z6hqfnfjqnrcgfgl5pkj9ggf9yx0yyy94azcn1qf7hqn6g3l14")))) + (build-system python-build-system) + (home-page "https://github.com/miyuchina/mistletoe") + (synopsis "Extensible Markdown parser in pure Python") + (description + "The @code{mistletoe} Markdown parser is a CommonMark-compliant Markdown +parser that supports definitions of custom tokens. + +Parsing Markdown into an abstract syntax tree also allows @code{mistletoe} to +swap out renderers for different output formats, without touching any of the +core components.") + (license expat))) From a9b11ce179a7d33589b5ede94457b20b8a9d6b06 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 7 Mar 2021 18:20:45 -0500 Subject: [PATCH 0097/1003] gnu: linux-libre: Update to 5.11.4. * gnu/packages/linux.scm (linux-libre-5.11-version): Update to 5.11.4. (linux-libre-5.11-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 9e35e533de..9fc2c497b8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -354,7 +354,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-5.11-version "5.11.3") +(define-public linux-libre-5.11-version "5.11.4") (define deblob-scripts-5.11 (linux-libre-deblob-scripts linux-libre-5.11-version @@ -362,7 +362,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0yvr80g200hdryz54gdnzj4fl38pf7g4qbgj475rhcfwixhp1j7n"))) (define-public linux-libre-5.11-pristine-source (let ((version linux-libre-5.11-version) - (hash (base32 "1znbn7n2jzm2rd7gsfj897lgrvaw48ljqfyza3166mw0nc5wfn1m"))) + (hash (base32 "1i8dfw83ndaylwji7lazfckk113plvnz7kh1yppbfg35r6przrc8"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.11))) From 2c8aa5fab626fed6e516390bd4f246adbf2f05ae Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 7 Mar 2021 18:24:36 -0500 Subject: [PATCH 0098/1003] gnu: linux-libre 5.10: Update to 5.10.21. * gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.21. (linux-libre-5.10-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 9fc2c497b8..25ae23d2b4 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -370,7 +370,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; -(define-public linux-libre-5.10-version "5.10.20") +(define-public linux-libre-5.10-version "5.10.21") (define deblob-scripts-5.10 (linux-libre-deblob-scripts linux-libre-5.10-version @@ -378,7 +378,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0hh27ccqimagr3aij7ygwikxw66y63sqwd0xlf49bhpjd090r9a7"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "18rh56aqc7ysr309prfml6sr0a81v6kh1ybw2c2vwhmszr373qwv"))) + (hash (base32 "1bz2gmyvpl4vsk0r6fsnh451fzvvfbv63rw8ia75gfv52vzyczwy"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) From 28e3c283eebaba859b9af7188738ed01263a4f90 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 7 Mar 2021 18:24:56 -0500 Subject: [PATCH 0099/1003] gnu: linux-libre 5.4: Update to 5.4.103. * gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.103. (linux-libre-5.4-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 25ae23d2b4..ba4e160ac2 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -383,7 +383,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.102") +(define-public linux-libre-5.4-version "5.4.103") (define deblob-scripts-5.4 (linux-libre-deblob-scripts linux-libre-5.4-version @@ -391,7 +391,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1vcscg7cn8qycay913nbc1xl1691anhvakkxwx54s0pnqghpqsgx"))) + (hash (base32 "12wy2w7yc6fcn61xm6l7a86rfwwcchfq89lpznm2v3dmy5y3mqw4"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) From cf60b80304b4ec6070931797c5a0d51087d6acfc Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 7 Mar 2021 18:25:14 -0500 Subject: [PATCH 0100/1003] gnu: linux-libre 4.19: Update to 4.19.179. * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.179. (linux-libre-4.19-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index ba4e160ac2..01eacc4bb6 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -396,7 +396,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.178") +(define-public linux-libre-4.19-version "4.19.179") (define deblob-scripts-4.19 (linux-libre-deblob-scripts linux-libre-4.19-version @@ -404,7 +404,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "1vln86ksignzw3d2xk5qgc5a2vghngczfsk949dn3r5dxygvlx8b"))) + (hash (base32 "14iy4i6xm2mva359dyrx6s1djpw7rxvnkydcbm6lnfvn7sik37a9"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) From 100d31a489c6b7a9bcfec5bc5ece0501967c2cf4 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 7 Mar 2021 18:25:41 -0500 Subject: [PATCH 0101/1003] gnu: linux-libre 4.14: Update to 4.14.224. * gnu/packages/linux.scm (linux-libre-4.14-version): Update to 4.14.224. (linux-libre-4.14-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 01eacc4bb6..28958a54e2 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -409,7 +409,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.223") +(define-public linux-libre-4.14-version "4.14.224") (define deblob-scripts-4.14 (linux-libre-deblob-scripts linux-libre-4.14-version @@ -417,7 +417,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "04zn74k1b7hfnfdi9fgifrn4jz0j00d4ymp8vhgbrdj75jrmynhs"))) + (hash (base32 "1x8wyj28zcx6nn3mkfvs7aywrq1rd8xam5f3r02mynb09kn5hdnq"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) From 32e415a72586b0aa709f556024d4f2f8fbe58439 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 7 Mar 2021 18:26:05 -0500 Subject: [PATCH 0102/1003] gnu: linux-libre 4.9: Update to 4.9.260. * gnu/packages/linux.scm (linux-libre-4.9-version): Update to 4.9.260. (linux-libre-4.9-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 28958a54e2..64b8405014 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -422,7 +422,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.259") +(define-public linux-libre-4.9-version "4.9.260") (define deblob-scripts-4.9 (linux-libre-deblob-scripts linux-libre-4.9-version @@ -430,7 +430,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "1r71vgbw17srsjdmsdr1jra7v412mhiysi4kpa77y29r2h3zk5r3"))) + (hash (base32 "1xcgqvk1g3l9bidpx377rbbwzvyxb0sbkszlk722bj7vk6c4asmq"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) From 7a436517384b7a30d4e49bcd818aa9a1e70db443 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 7 Mar 2021 18:26:28 -0500 Subject: [PATCH 0103/1003] gnu: linux-libre 4.4: Update to 4.4.260. * gnu/packages/linux.scm (linux-libre-4.4-version): Update to 4.4.260. (linux-libre-4.4-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 64b8405014..42745e29cb 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -435,7 +435,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.259") +(define-public linux-libre-4.4-version "4.4.260") (define deblob-scripts-4.4 (linux-libre-deblob-scripts linux-libre-4.4-version @@ -443,7 +443,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "18mw4xgza2szgz9x7lq3nzbf48cfkg2g4rli5p5ix4w3ni34h0sr"))) + (hash (base32 "1vl8zhlkhqbw2xqvkqhw1z75mrzk5lsdcj8bd2k2fw7cbwa00ln6"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) From a0b24d5f8c5813329986b1bd690ed50b5308cc78 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Tue, 23 Feb 2021 20:02:14 +0000 Subject: [PATCH 0104/1003] gnu: guile-lib: Fix cross compilation. These changes were sent upstream as https://lists.gnu.org/archive/html/guile-devel/2021-02/msg00004.html Without this change, the .go files are built for the host architecture, rather than the target. I noticed this when cross building the guix-build-coordinator (for which guile-lib is an input) to the Hurd. * gnu/packages/guile-xyz.scm (guile-lib)[arguments]: Add 'patch-for-cross-compilation phase. [native-inputs]: Add autoconf, automake and gettext. (guile2.0-lib): Adjust to use alist-replace. (guile2.2-lib): Adjust to use alist-replace. --- gnu/packages/guile-xyz.scm | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 45b3a82d00..bd26010918 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -116,6 +116,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system guile) #:use-module (guix utils) + #:use-module ((guix build utils) #:select (alist-replace)) #:use-module (ice-9 match) #:use-module ((srfi srfi-1) #:select (alist-delete))) @@ -2191,6 +2192,21 @@ library.") '("GUILE_AUTO_COMPILE=0") ; to prevent guild errors #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-for-cross-compilation + (lambda _ + (substitute* "configure.ac" + (("GUILE_FLAGS") + "GUILE_FLAGS +if test \"$cross_compiling\" != no; then + GUILE_TARGET=\"--target=$host_alias\" + AC_SUBST([GUILE_TARGET]) +fi +")) + (substitute* "am/guile.mk" + (("guild compile") "guild compile $(GUILE_TARGET)")) + (delete-file "configure") ; trigger the bootstrap phase to run + ; autoreconf + #t)) (add-before 'configure 'patch-module-dir (lambda _ (substitute* "src/Makefile.in" @@ -2201,7 +2217,10 @@ library.") $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")) #t))))) (native-inputs - `(("guile" ,guile-3.0) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext" ,gettext-minimal) + ("guile" ,guile-3.0) ("pkg-config" ,pkg-config))) (inputs `(("guile" ,guile-3.0))) @@ -2222,15 +2241,23 @@ for Guile\".") (package (inherit guile-lib) (name "guile2.0-lib") - (native-inputs `(("pkg-config" ,pkg-config))) - (inputs `(("guile" ,guile-2.0))))) + (native-inputs + (alist-replace "guile" (list guile-2.0) + (package-native-inputs guile-lib))) + (inputs + (alist-replace "guile" (list guile-2.0) + (package-inputs guile-lib))))) (define-public guile2.2-lib (package (inherit guile-lib) (name "guile2.2-lib") - (native-inputs `(("pkg-config" ,pkg-config))) - (inputs `(("guile" ,guile-2.2))))) + (native-inputs + (alist-replace "guile" (list guile-2.2) + (package-native-inputs guile-lib))) + (inputs + (alist-replace "guile" (list guile-2.2) + (package-inputs guile-lib))))) (define-public guile3.0-lib (deprecated-package "guile3.0-lib" guile-lib)) From f5c6e6966c020722700ef0343ab0a6030e2d61b5 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 7 Mar 2021 13:30:55 +0000 Subject: [PATCH 0105/1003] gnu: rust-1.19: Don't include i686-linux in supported-systems. Currently rust fails to build for i686-linux, so this will avoid computing lots of derivations that depend on rust, but won't be possible to build. * gnu/packages/rust.scm (rust-1.19)[supported-systems]: Switch hardcoding only supporting x86_64-linux for supporting all supported systems, other than i686-linux. --- gnu/packages/rust.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 98a6bfffa5..1fc540f0f8 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -453,7 +453,9 @@ test = { path = \"../libtest\" } (variable "LIBRARY_PATH") (files '("lib" "lib64"))))) - (supported-systems '("x86_64-linux")) + (supported-systems + (delete "i686-linux" ; fails to build, see #35519 + %supported-systems)) (synopsis "Compiler for the Rust programming language") (description "Rust is a systems programming language that provides memory safety and thread safety guarantees.") From df138dc20858725b90ed77be85f3318cbe1be73a Mon Sep 17 00:00:00 2001 From: Brice Waegeneire Date: Sat, 30 Jan 2021 21:08:08 +0100 Subject: [PATCH 0106/1003] gnu: services: Add activate script to the profile system directory. * gnu/services.scm (activation-profile-entry): New procedure... (activation-service-type): ... use it. --- gnu/services.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/services.scm b/gnu/services.scm index 13259dfaee..ddd1bac30c 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -617,13 +617,21 @@ ACTIVATION-SCRIPT-TYPE." "Return a gexp that runs the activation script containing GEXPS." #~(primitive-load #$(activation-script gexps))) +(define (activation-profile-entry gexps) + "Return, as a monadic value, an entry for the activation script in the +system directory." + (mlet %store-monad ((activate (lower-object (activation-script gexps)))) + (return `(("activate" ,activate))))) + (define (second-argument a b) b) (define activation-service-type (service-type (name 'activate) (extensions (list (service-extension boot-service-type - gexps->activation-gexp))) + gexps->activation-gexp) + (service-extension system-service-type + activation-profile-entry))) (compose identity) (extend second-argument) (description From 236a88294295e7ec6f7463ae7fae246aac0e6162 Mon Sep 17 00:00:00 2001 From: Brice Waegeneire Date: Sat, 30 Jan 2021 21:46:57 +0100 Subject: [PATCH 0107/1003] scripts: system: Activate system when switching generations. Fixes . * guix/scripts/system.scm (switch-to-system-generation): Load the activate script for that generation. squash! scripts: system: Activate system when switching generations. --- guix/scripts/system.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index e3cf99acc6..c226f08371 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020 Julien Lepiller ;;; Copyright © 2020 Efraim Flashner +;;; Copyright © 2021 Brice Waegeneire ;;; ;;; This file is part of GNU Guix. ;;; @@ -363,11 +364,14 @@ connection to the store." "Switch the system profile to the generation specified by SPEC, and re-install bootloader with a configuration file that uses the specified system generation as its default entry. STORE is an open connection to the store." - (let ((number (relative-generation-spec->number %system-profile spec))) + (let* ((number (relative-generation-spec->number %system-profile spec)) + (generation (generation-file-name %system-profile number)) + (activate (string-append generation "/activate"))) (if number (begin (reinstall-bootloader store number) - (switch-to-generation* %system-profile number)) + (switch-to-generation* %system-profile number) + (unless-file-not-found (primitive-load activate))) (leave (G_ "cannot switch to system generation '~a'~%") spec)))) (define* (system-bootloader-name #:optional (system %system-profile)) From 0d9b7fd0c1578b68b74097a5f15565d1a3d28179 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 9 Mar 2021 02:45:11 -0500 Subject: [PATCH 0108/1003] gnu: libaom: Update to 2.0.2. * gnu/packages/video.scm (libaom): Update to 2.0.2. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 92ecfb99ff..96c7165ae9 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -772,7 +772,7 @@ television and DVD. It is also known as AC-3.") (define-public libaom (package (name "libaom") - (version "2.0.1") + (version "2.0.2") (source (origin (method git-fetch) (uri (git-reference @@ -781,7 +781,7 @@ television and DVD. It is also known as AC-3.") (file-name (git-file-name name version)) (sha256 (base32 - "1vakwmcwvmmrdw7460m8hzq96y71lxqix8b2g07c6s12br0rrdhl")))) + "0f3i983s9yvh9zc6mpy1ck5sjcg9l09lpw9v4md3mv8gbih9f0z0")))) (build-system cmake-build-system) (native-inputs `(("perl" ,perl) From 84c70996884a1c9ea533f76c05ff40b7092cc837 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 9 Mar 2021 02:45:28 -0500 Subject: [PATCH 0109/1003] gnu: dav1d: Update to 0.8.2. * gnu/packages/video.scm (dav1d): Update to 0.8.2. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 96c7165ae9..0bb941946c 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -4571,7 +4571,7 @@ transitions, and effects and then export your film to many common formats.") (define-public dav1d (package (name "dav1d") - (version "0.8.1") + (version "0.8.2") (source (origin (method git-fetch) @@ -4580,7 +4580,7 @@ transitions, and effects and then export your film to many common formats.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1820fpmmq1vxjzjmza6ydk4fgxipb8gmcc5skybki64qn7410v7x")))) + (base32 "0plmnxpz66yv3nqv1kgbyyfnwfqi9dqs0zbsdj488i6464a1m6si")))) (build-system meson-build-system) (native-inputs `(("nasm" ,nasm))) (home-page "https://code.videolan.org/videolan/dav1d") From 31dcf19ea33b3cdbc9615e69e1396bcebdae9dc0 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 9 Mar 2021 02:47:26 -0500 Subject: [PATCH 0110/1003] gnu: libavif: Update to 0.9.0. * gnu/packages/image.scm (libavif): Update to 0.9.0. --- gnu/packages/image.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index a48b1e1afb..a68ff66448 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -2110,7 +2110,7 @@ This package can be used to create @code{favicon.ico} files for web sites.") (define-public libavif (package (name "libavif") - (version "0.8.4") + (version "0.9.0") (source (origin (method git-fetch) (uri (git-reference @@ -2119,7 +2119,7 @@ This package can be used to create @code{favicon.ico} files for web sites.") (file-name (git-file-name name version)) (sha256 (base32 - "1qvjd3xi9r89pcblxdgz4c6hqp67ss53b1x9zkg7lrik7g3lwq8d")))) + "1aw41m8ddrckq375w0lv2zd4ybhccsy1hw4f9kipppwxhgvk17gf")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DAVIF_CODEC_AOM=ON" "-DAVIF_CODEC_DAV1D=ON" From 0cac5f75ed370f5a9e63936d2dda5fd2186db530 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 9 Mar 2021 02:47:40 -0500 Subject: [PATCH 0111/1003] gnu: svt-vp9: Fix typo. * gnu/packages/video.scm (svt-vp9): Fix typo in comment. --- gnu/packages/video.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 0bb941946c..9bb1af0da6 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -4800,7 +4800,7 @@ applications. It only supports Intel-compatible CPUs (x86).") (sha256 (base32 "1ypdiw4cq22llvm8jyszxdq6r1aydkj80dsxjarjn5b7c1f2q3ar")))) - ;; SVT-AV1 only supports 64-bit Intel-compatible CPUs. + ;; SVT-VP9 only supports 64-bit Intel-compatible CPUs. (supported-systems '("x86_64-linux")) (build-system cmake-build-system) (arguments From a7da527d59a8108f853fbae39ddcd51d8ac99423 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 9 Mar 2021 03:08:18 -0500 Subject: [PATCH 0112/1003] gnu: Remove FFmpeg 4.2. * gnu/packages/video.scm (ffmpeg-4.2): Remove variable. --- gnu/packages/video.scm | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 9bb1af0da6..10ad131e40 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1612,27 +1612,6 @@ convert and stream audio and video. It includes the libavcodec audio/video codec library.") (license license:gpl2+))) -;; ungoogled-chromium crashes with ffmpeg 4.3, so stick with this version for -;; now. See . -(define-public ffmpeg-4.2 - (package - (inherit ffmpeg) - (version "4.2.3") - (source (origin - (method url-fetch) - (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" - version ".tar.xz")) - (sha256 - (base32 - "0cddkb5sma9dzy8i59sfls19rhjlq40zn9mh3x666dqkxl5ckxlx")))) - (arguments - (substitute-keyword-arguments (package-arguments ffmpeg) - ((#:configure-flags flags) - `(delete "--enable-librav1e" ,flags)))) - (inputs (fold alist-delete - (package-inputs ffmpeg) - '("rav1e"))))) - (define-public ffmpeg-3.4 (package (inherit ffmpeg) From d099c9c09b9a17fba556715568ab910d6af14ee8 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 9 Mar 2021 03:40:14 -0500 Subject: [PATCH 0113/1003] gnu: VLC: Ensure AV1 files are played with dav1d by default. * gnu/packages/video.scm (vlc)[inputs]: Add dav1d. --- gnu/packages/video.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 10ad131e40..eb1c329c1b 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1771,6 +1771,7 @@ videoformats depend on the configuration flags of ffmpeg.") (inputs `(("alsa-lib" ,alsa-lib) ("avahi" ,avahi) + ("dav1d" ,dav1d) ("dbus" ,dbus) ("eudev" ,eudev) ("flac" ,flac) From a72888995173ace3190c69d324265dcc5fd66d3e Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Tue, 9 Mar 2021 08:52:09 +0000 Subject: [PATCH 0114/1003] gnu: rust-1.26: Remove aarch64-linux from the supported systems. Because this package is a transitive input to many rust packages, Cuirass is spending lots of time failing to build it on ci.guix.gnu.org. This change will hopefully help with that issue. * gnu/packages/rust.scm (rust-1.26)[supported-systems]: Remove aarch64-linux. --- gnu/packages/rust.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 1fc540f0f8..c7840e1a20 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -822,7 +822,10 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (substitute* "src/tools/cargo/tests/testsuite/generate_lockfile.rs" ;; This test wants to update the crate index. (("fn no_index_update") "#[ignore]\nfn no_index_update")) - #t))))))))) + #t)))))) + (supported-systems + (delete "aarch64-linux" ; fails to build, see #47019 + (package-supported-systems base-rust)))))) (define-public rust-1.27 (let ((base-rust From 49d85b3f11a2ea28ac862857e7f040ef26ce39ae Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 11:53:58 +0100 Subject: [PATCH 0115/1003] gnu: bbmap: Update to 38.90. * gnu/packages/bioinformatics.scm (bbmap): Update to 38.90. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index be07bd18a3..61c9e06a99 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -14449,14 +14449,14 @@ is a Cython wrapper for FIt-SNE.") (define-public bbmap (package (name "bbmap") - (version "35.82") + (version "38.90") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/bbmap/BBMap_" version ".tar.gz")) (sha256 (base32 - "1q4rfhxcb6z3gm8zg2davjz98w22lkf4hm9ikxz9kdl93pil3wkd")))) + "1wb94bcc006qq86x77z2rz0lc8m9f1kpnw6gdhjfg9bdaqf56rm3")))) (build-system ant-build-system) (arguments `(#:build-target "dist" From 133a91892315da653ec9654580942970b8e273be Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 11:54:09 +0100 Subject: [PATCH 0116/1003] gnu: trim-galore: Update to 0.6.6. * gnu/packages/bioinformatics.scm (trim-galore): Update to 0.6.6. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 61c9e06a99..8b38c7ce0d 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -11028,7 +11028,7 @@ with narrow binding events such as transcription factor ChIP-seq.") (define-public trim-galore (package (name "trim-galore") - (version "0.6.1") + (version "0.6.6") (source (origin (method git-fetch) @@ -11038,7 +11038,7 @@ with narrow binding events such as transcription factor ChIP-seq.") (file-name (git-file-name name version)) (sha256 (base32 - "1y31wbxwkm9xqzr5zv1pk5q418whnmlmgmfyxxpnl12h83m2i9iv")))) + "0yrwg6325j4sb9vnplvl3jplzab0qdhp92wl480qjinpfq88j4rs")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests From 40b3e9da49f37790aae84c17291745cdc1f0fab2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 9 Mar 2021 15:31:52 +0200 Subject: [PATCH 0117/1003] gnu: xygrib: Fix compiling with newer qt. * gnu/packages/geo.scm (xygrib)[source]: Adjust snippet to add missing include header. --- gnu/packages/geo.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index ae37c8f151..c988d6b114 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2018 Joshua Sierles, Nextjournal ;;; Copyright © 2018, 2019, 2020 Julien Lepiller ;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant -;;; Copyright © 2019, 2020 Efraim Flashner +;;; Copyright © 2019, 2020, 2021 Efraim Flashner ;;; Copyright © 2019 Wiktor Żelazny ;;; Copyright © 2019 Hartmut Goebel ;;; Copyright © 2020 Marius Bakke @@ -1170,7 +1170,13 @@ map display. Downloads map data from a number of websites, including "0xzsm8pr0zjk3f8j880fg5n82jyxn8xf1330qmmq1fqv7rsrg9ia")) (modules '((guix build utils))) (snippet - '(begin (delete-file-recursively "data/fonts") #t)))) + '(begin + (delete-file-recursively "data/fonts") + ;; Fixes compilation, can be removed with the next release. + ;; Upstream link: https://github.com/opengribs/XyGrib/pull/255 + (substitute* "src/SkewT.h" + (("QMessageBox>") "QMessageBox>\n#include ")) + #t)))) (build-system cmake-build-system) (arguments `(#:phases From 12640deb502d99d37ae6fe7a06d5c5335a80973e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 9 Mar 2021 15:44:31 +0200 Subject: [PATCH 0118/1003] gnu: symengine: Fix build. * gnu/packages/algebra.scm (symengine)[native-inputs]: Remove llvm. [arguments]: Adjust accordingly. --- gnu/packages/algebra.scm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 6f36f267b0..948f9bd42e 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -44,7 +44,6 @@ #:use-module (gnu packages graphviz) #:use-module (gnu packages image) #:use-module (gnu packages java) - #:use-module (gnu packages llvm) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) #:use-module (gnu packages multiprecision) @@ -971,11 +970,8 @@ algorithms from the FORTRAN library MINPACK.") "-DWITH_MPFR=on" "-DWITH_MPC=on" "-DINTEGER_CLASS=flint" - "-DWITH_LLVM=on" "-DWITH_SYMENGINE_THREAD_SAFE=on" "-DBUILD_SHARED_LIBS=on"))) ;also build libsymengine - (native-inputs - `(("llvm" ,llvm))) (inputs `(("flint" ,flint) ("gmp" ,gmp) From c3fb753045706b047c5c7564299f20d755d4ed65 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 9 Mar 2021 16:04:40 +0200 Subject: [PATCH 0119/1003] gnu: python-logwrap: Update to 8.2.0.post0. * gnu/packages/python-xyz.scm (python-logwrap): Update to 8.2.0.post0. [arguments]: Disable tests. Replace 'check phase. [propagated-inputs]: Remove python-six, python-typing. [native-inputs]: Remove unzip, python-pytest-cov, python-pytest-runner. Add python-setuptools-scm, python-toml, python-wheel. [home-page]: Update to new upstream URI. --- gnu/packages/python-xyz.scm | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 912b9db62b..b1ac3e2e3b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -662,25 +662,31 @@ module and then similar looking characters are removed.") (define-public python-logwrap (package (name "python-logwrap") - (version "3.2.1") + (version "8.2.0.post0") (source (origin (method url-fetch) - (uri (pypi-uri "logwrap" version ".zip")) + (uri (pypi-uri "logwrap" version)) (sha256 (base32 - "1d2k0hvpbi51vl410y8fbs5m0nxnlh2k7gr2nrh3k81ibhzscsra")))) + "1dv7gny3rfci5cal2ipr6d0pcz3yhka7af96dfsd3ir1mxy8p1j9")))) (build-system python-build-system) - (propagated-inputs - `(("python-six" ,python-six) - ("python-typing" ,python-typing))) + (arguments + `(#:tests? #f ; Tests not included in pypi release. + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest")) + #t))))) (native-inputs - `(("unzip" ,unzip) - ("python-cython" ,python-cython) + `(("python-cython" ,python-cython) ("python-pytest" ,python-pytest) - ("python-pytest-cov" ,python-pytest-cov) - ("python-pytest-runner" ,python-pytest-runner))) - (home-page "https://github.com/penguinolog/logwrap") + ("python-setuptools-scm" ,python-setuptools-scm) + ("python-toml" ,python-toml) + ("python-wheel" ,python-wheel))) + (home-page "https://github.com/python-useful-helpers/logwrap") (synopsis "Decorator for logging function arguments") (description "This package provides a decorator to log function arguments and function call return values in a human-readable way.") From d90165826c26ad2ea252f0adbc3f9468cdf95512 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 9 Mar 2021 16:13:18 +0200 Subject: [PATCH 0120/1003] gnu: solfege: Build with older texinfo. The package failed to build with texinfo-6.7. * gnu/packages/music.scm (solfege)[native-inputs]: Replace texinfo with texinfo-5. --- gnu/packages/music.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 9c809154f1..4fb5049ac7 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1861,7 +1861,7 @@ for path in [path for path in sys.path if 'site-packages' in path]: site.addsite ("txt2man" ,txt2man) ("libxml2" ,libxml2) ; for tests ("ghostscript" ,ghostscript) - ("texinfo" ,texinfo))) + ("texinfo" ,texinfo-5))) (home-page "https://www.gnu.org/software/solfege/") (synopsis "Ear training") (description From de1f8664651b21d8704d87ff69e032328cce0cd9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Mar 2021 14:05:54 +0100 Subject: [PATCH 0121/1003] gnu: solaar: Update to 1.0.5. * gnu/packages/admin.scm (solaar): Update to 1.0.5. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index b0fee13907..7f8c332e64 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -3956,7 +3956,7 @@ cache of unix and unix-like systems.") (define-public solaar (package (name "solaar") - (version "1.0.4") + (version "1.0.5") (source (origin (method git-fetch) (uri (git-reference @@ -3965,7 +3965,7 @@ cache of unix and unix-like systems.") (file-name (git-file-name name version)) (sha256 (base32 - "15wzxxr2m5349kkvcs3k5clg1rsmvh6by2066qm4hlgvjwmigggy")))) + "17gkr2lf1kzp1198gcdr30j3c8xd81kg7ly12aar1jrgi6lc7klk")))) (build-system python-build-system) (arguments `(#:phases From 17db882d29f14e24da477f823fd48c5e9e0d600a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Mar 2021 14:13:35 +0100 Subject: [PATCH 0122/1003] gnu: solaar: Fix home page. * gnu/packages/admin.scm (solaar)[home-page]: Correct. --- gnu/packages/admin.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 7f8c332e64..71af3b9d94 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -3984,7 +3984,7 @@ cache of unix and unix-like systems.") ("python-xlib" ,python-xlib) ("gtk+" ,gtk+) ("python-pygobject" ,python-pygobject))) - (home-page "https://smxi.org/docs/inxi.htm") + (home-page "https://pwr-solaar.github.io/Solaar/") (synopsis "Linux devices manager for the Logitech Unifying Receiver") (description "This package provides tools to manage clients of the Logitech Unifying Receiver.") From 4c6fa851363b9e9d0bf4e4d83009b05e363e126d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Mar 2021 14:45:09 +0100 Subject: [PATCH 0123/1003] gnu: ppsspp: Update to 1.11.3. * gnu/packages/emulators.scm (ppsspp): Update to 1.11.3. --- gnu/packages/emulators.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index a2e7b9970a..1cd23c3e6c 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -2094,7 +2094,7 @@ framework based on QEMU.") (define-public ppsspp (package (name "ppsspp") - (version "1.11.2") + (version "1.11.3") (source (origin (method git-fetch) @@ -2102,7 +2102,7 @@ framework based on QEMU.") (url "https://github.com/hrydgard/ppsspp") (commit (string-append "v" version)))) (sha256 - (base32 "03nxarx0l1ndi9fffl1wjfwsg3pk2bwf72cwcfaski1sg3dxsv7h")) + (base32 "1dpxnwvl6jq7z67lbjws4lqc1bxc31xi6ddlmg5n3aig008yi2fp")) (file-name (git-file-name name version)) (patches (search-patches "ppsspp-disable-upgrade-and-gold.patch")) From 9f87758fd5a5fd2e4c04683aebee13d9a19218b8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Mar 2021 13:56:03 +0100 Subject: [PATCH 0124/1003] gnu: Add xvfb-run. * gnu/packages/xorg.scm (xvfb-run): New public variable. --- gnu/packages/xorg.scm | 74 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 2ee617aa55..a8faa8c5f4 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -6766,3 +6766,77 @@ are easier to see and use, and Xdialog adds more functionality such as a help button and box, a treeview, an editbox, file and directory selectors, a range box, and a calendar. It uses GTK+, and will match your desktop theme.") (license license:gpl2+))) + +(define-public xvfb-run + (package + (name "xvfb-run") + (version "1.20.10-3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://debian/pool/main/x/xorg-server/" + "xorg-server_" version ".diff.gz")) + (sha256 + (base32 "08gs9ni8ss8rw4n9cql1s8q05mj517vk1vm1varj1dsx75k4j25v")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'unpack + ;; Apply the source patch to an empty directory. + (lambda* (#:key inputs #:allow-other-keys) + (let* ((source (assoc-ref inputs "source")) + (diff.gz (basename source)) + (diff (substring diff.gz 0 (string-rindex diff.gz #\.)))) + (mkdir "source") + (chdir "source") + (copy-file source diff.gz) + (invoke "gunzip" diff.gz) + (invoke "patch" "-Np1" "-i" diff) + (chdir "debian/local")))) + (delete 'configure) ; nothing to configure + (replace 'build + (lambda _ + (chmod "xvfb-run" #o755) + (substitute* "xvfb-run" + (("(\\(| )(fmt|stty|awk|kill|getopt|mktemp|touch|rm|mcookie)" + _ prefix command) + (string-append prefix (which command))) + ;; These also feature in UI messages, so be more strict. + (("(AUTHFILE |command -v |exec )(Xvfb|xauth)" + _ prefix command) + (string-append prefix (which command)))))) + (replace 'check + ;; There are no tests included. Here we test whether we can run + ;; a simple client without xvfb-run itself relying on $PATH. + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (let ((old-PATH (getenv "PATH")) + (xterm (which "xterm"))) + (unsetenv "PATH") + (invoke "./xvfb-run" xterm "-e" "true") + (setenv "PATH" old-PATH))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (man (string-append out "/share/man/man1"))) + (install-file "xvfb-run" bin) + (install-file "xvfb-run.1" man))))))) + (inputs + `(("util-linux" ,util-linux) ; for getopt + ("xauth" ,xauth) + ("xorg-server" ,xorg-server))) + (native-inputs + `(("xterm" ,xterm))) ; for the test + ;; This script is not part of the upstream xorg-server. It is provided only + ;; as a patch added to Debian's package. + (home-page "https://packages.debian.org/sid/xorg-server-source") + (synopsis "Run X11 client or command in a virtual X server environment") + (description + "The @command{xvfb-run} wrapper simplifies running commands and scripts +within a virtual X server environment. It sets up an X authority file or uses +an existing user-specified one, writes a cookie to it, and then starts the +@command{Xvfb} X server as a background process. It also takes care of killing +the server and cleaning up before returning the exit status of the command.") + (license license:x11))) From 5a948f3142d927a0d7bda75e5713e5dd0536c1d6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Mar 2021 14:03:42 +0100 Subject: [PATCH 0125/1003] gnu: progress: Update to 0.16. * gnu/packages/admin.scm (progress): Update to 0.16. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 71af3b9d94..9997b31e37 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -221,7 +221,7 @@ usual file attributes can be checked for inconsistencies.") (define-public progress (package (name "progress") - (version "0.15") + (version "0.16") (source (origin (method git-fetch) @@ -229,7 +229,7 @@ usual file attributes can be checked for inconsistencies.") (url "https://github.com/Xfennec/progress") (commit (string-append "v" version)))) (sha256 - (base32 "1cnb4ixlhshn139mj5sr42k5m6gjjbyqvkn1324c47niwrgp7dqm")) + (base32 "0gf10j9zd8spain94b5kigknwbdqajiy6fjsa5hhwsc1biz34hcj")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs From 362d4787460a8a8414f671aef6c19ad354cb0463 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Mar 2021 14:23:12 +0100 Subject: [PATCH 0126/1003] gnu: libfastjson: Update to 0.99.9. * gnu/packages/c.scm (libfastjson): Update to 0.99.9. --- gnu/packages/c.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index b104b2f2c1..7d8d41d266 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -447,7 +447,7 @@ more, like escaping special characters.") (define-public libfastjson (package (name "libfastjson") - (version "0.99.8") + (version "0.99.9") (source (origin (method git-fetch) @@ -456,8 +456,7 @@ more, like escaping special characters.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0qhs0g9slj3p0v2z4s3cnsx44msrlb4k78ljg7714qiziqbrbwyl")))) + (base32 "12rqcdqxazw8czzxbivdapdgj19pcswpw1jp2915sxbljis83g6q")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) From 4685a468f85b064fff6ba0a037812eaa86935310 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Mar 2021 15:06:45 +0100 Subject: [PATCH 0127/1003] gnu: libime: Update to 1.0.4. * gnu/packages/fcitx5.scm (libime): Update to 1.0.4. --- gnu/packages/fcitx5.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm index 79d5799774..4c79f4d856 100644 --- a/gnu/packages/fcitx5.scm +++ b/gnu/packages/fcitx5.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Zhu Zihao +;;; Copyright © 2021 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -171,14 +172,14 @@ client.") (define-public libime (package (name "libime") - (version "1.0.3") + (version "1.0.4") (source (origin (method url-fetch) (uri (string-append "https://download.fcitx-im.org/fcitx5/libime/libime-" version "_dict.tar.xz")) (sha256 - (base32 "1gi9ylqha9x3dhjsa2i7x9wh2g9vgqkkfr6s1facs2ky65vgvdrv")))) + (base32 "0bwl12cy7crpf62f669qn99rv4df1sjlggvcn80z64yabs36nhjr")))) (build-system cmake-build-system) (inputs `(("fcitx5" ,fcitx5) From 2e6d40b373f78ab9880d0f725cbcf59e32a0413e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Mar 2021 14:25:05 +0100 Subject: [PATCH 0128/1003] gnu: lrzip: Update to 0.641. * gnu/packages/compression.scm (lrzip): Update to 0.641. --- gnu/packages/compression.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index ee7f607dcb..32fd358ac8 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1110,15 +1110,14 @@ human-readable output.") (define-public lrzip (package (name "lrzip") - (version "0.640") + (version "0.641") (source (origin (method url-fetch) (uri (string-append "http://ck.kolivas.org/apps/lrzip/lrzip-" version ".tar.xz")) (sha256 - (base32 - "175466drfpz8rsfr0pzfn5rqrj3wmcmcs3i2sfmw366w2kbjm4j9")))) + (base32 "0ziyanspd96dc3lp2qdcylc7aq8dhb511jhqrhxvlp502fjqjqrc")))) (build-system gnu-build-system) (native-inputs `(;; nasm is only required when building for 32-bit x86 platforms From 1e4b80ad65c4dc2cf51a8c7c2b76863cd2821e5a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Mar 2021 14:48:16 +0100 Subject: [PATCH 0129/1003] gnu: sigrok-cli: Update to 0.7.2. * gnu/packages/electronics.scm (sigrok-cli): Update to 0.7.2. --- gnu/packages/electronics.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index 232a6c8c44..c578fda334 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Theodoros Foradis -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2019 Clément Lassieur ;;; Copyright © 2021 Efraim Flashner ;;; Copyright © 2021 Leo Famulari @@ -220,7 +220,7 @@ format support.") (define-public sigrok-cli (package (name "sigrok-cli") - (version "0.7.1") + (version "0.7.2") (source (origin (method url-fetch) (uri (string-append @@ -228,7 +228,7 @@ format support.") version ".tar.gz")) (sha256 (base32 - "15vpn1psriadcbl6v9swwgws7dva85ld03yv6g1mgm27kx11697m")))) + "1f0a2k8qdcin0pqiqq5ni4khzsnv61l21v1dfdjzayw96qzl9l3i")))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs From 77077d90cd1a9c6666559c6e60ee5226afa770aa Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Mar 2021 14:19:51 +0100 Subject: [PATCH 0130/1003] gnu: inxi-minimal: Update to 3.3.01-1. * gnu/packages/admin.scm (inxi-minimal): Update to 3.3.01-1. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 9997b31e37..96db1fdba6 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -3743,7 +3743,7 @@ Python loading in HPC environments.") (let ((real-name "inxi")) (package (name "inxi-minimal") - (version "3.2.02-2") + (version "3.3.01-1") (source (origin (method git-fetch) @@ -3752,7 +3752,7 @@ Python loading in HPC environments.") (commit version))) (file-name (git-file-name real-name version)) (sha256 - (base32 "0fwx798v9kwiwkgbj97w6rjdanwf7ap65vvq1fqy7gd9x78xcxsq")))) + (base32 "06r5iq78ldrvr5fmmb5mchaaji49195fsgx9ysr1mjs122rp13y1")))) (build-system trivial-build-system) (inputs `(("bash" ,bash-minimal) From 35d9d5bfa69f619f3b34cf06bb7c572549e797ec Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Mar 2021 14:21:07 +0100 Subject: [PATCH 0131/1003] gnu: s-tui: Update to 1.1.1. * gnu/packages/admin.scm (s-tui): Update to 1.1.1. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 96db1fdba6..edcd1097a3 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1997,13 +1997,13 @@ development, not the kernel implementation of ACPI.") (define-public s-tui (package (name "s-tui") - (version "1.0.2") + (version "1.1.1") (source (origin (method url-fetch) (uri (pypi-uri "s-tui" version)) (sha256 - (base32 "0xkfdaz5np21311ffdvhks58155qby8j8scbcixhvjd913pj66qx")))) + (base32 "1clk59wf6v1lq33h4x5qwxvz5ng9mfkp1s6ynxa58w2raq8dbmy5")))) (build-system python-build-system) (inputs `(("python-psutil" ,python-psutil) From 07f77812c44aa3b7a6b963613b783da56110d2f0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Mar 2021 15:28:55 +0100 Subject: [PATCH 0132/1003] gnu: xvfb-run: Add man page licence. * gnu/packages/xorg.scm (xvfb-run)[license]: Add gpl2+. --- gnu/packages/xorg.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index a8faa8c5f4..2f740ecbc2 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -6839,4 +6839,5 @@ within a virtual X server environment. It sets up an X authority file or uses an existing user-specified one, writes a cookie to it, and then starts the @command{Xvfb} X server as a background process. It also takes care of killing the server and cleaning up before returning the exit status of the command.") - (license license:x11))) + (license license:x11 ; the script + license:gpl2+))) ; the man page From 973c6f18eb5ac6ee76f742f06ba1589759f4d4bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 8 Mar 2021 16:12:13 +0100 Subject: [PATCH 0133/1003] gnu: guile-next: Reintroduce as a 3.0.x snapshot. * gnu/packages/guile.scm (guile-next): Rewrite as a 3.0.x snapshot. --- gnu/packages/guile.scm | 44 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 6662315e78..650fe1289a 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.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, 2020, 2021 Ludovic Courtès ;;; Copyright © 2014 Cyril Roelandt ;;; Copyright © 2014, 2016, 2018 David Thompson ;;; Copyright © 2014, 2017, 2018 Mark H Weaver @@ -44,6 +44,7 @@ #:use-module (gnu packages flex) #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) + #:use-module (gnu packages gperf) #:use-module (gnu packages hurd) #:use-module (gnu packages libffi) #:use-module (gnu packages libunistring) @@ -324,9 +325,6 @@ without requiring the source code to be rewritten.") ;; Remove on the next rebuild cycle. (search-patches "guile-2.2-skip-so-test.patch"))) -(define-public guile-next - (deprecated-package "guile-next" guile-3.0)) - (define-public guile-3.0/libgc-7 ;; Using libgc-7 avoid crashes that can occur, particularly when loading ;; data in to the Guix Data Service: @@ -348,6 +346,44 @@ without requiring the source code to be rewritten.") (max-silent-time . 36000))))) ;10 hours (needed on ARM ; when heavily loaded) +(define-public guile-next + (let ((version "3.0.5") + (revision "0") + (commit "91547abf54d5e0795afda2781259ab8923eb527b")) + (package + (inherit guile-3.0) + (name "guile-next") + (version (git-version version revision commit)) + (source (origin + ;; The main goal here is to allow for '--with-branch'. + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/guile.git") + (commit commit))) + (sha256 + (base32 + "09i1c77h2shygylfk0av31jsc1my6zjl230b2cx6vyl58q8c0cqy")))) + (arguments + (substitute-keyword-arguments (package-arguments guile-3.0) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-before 'check 'skip-failing-tests + (lambda _ + (substitute* "test-suite/standalone/test-out-of-memory" + (("!#") "!#\n\n(exit 77)\n")) + (delete-file "test-suite/tests/version.test") + #t)))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("flex" ,flex) + ("gettext" ,gnu-gettext) + ("texinfo" ,texinfo) + ("gperf" ,gperf) + ,@(package-native-inputs guile-3.0))) + (synopsis "Development version of GNU Guile")))) + (define* (make-guile-readline guile #:optional (name "guile-readline")) (package (name name) From b1cabedd28b92324259875fc52ca5d52d411a026 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 9 Mar 2021 16:17:56 +0100 Subject: [PATCH 0134/1003] gnu: xvfb-run: Fix syntax error. Error introduced in 07f77812c44aa3b7a6b963613b783da56110d2f0. * gnu/packages/xorg.scm (xvfb-run)[license]: Fix syntax. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 2f740ecbc2..92ae6a824b 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -6839,5 +6839,5 @@ within a virtual X server environment. It sets up an X authority file or uses an existing user-specified one, writes a cookie to it, and then starts the @command{Xvfb} X server as a background process. It also takes care of killing the server and cleaning up before returning the exit status of the command.") - (license license:x11 ; the script - license:gpl2+))) ; the man page + (license (list license:x11 ; the script + license:gpl2+)))) ; the man page From eb4ed63fc42db5aceaeed3b864bd21d2a304e1d9 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Tue, 9 Mar 2021 07:37:28 -0500 Subject: [PATCH 0135/1003] gnu: Rename "t" to "t-todo-manager". * gnu/packages/task-management.scm (t): Rename to t-todo-manager. Signed-off-by: Nicolas Goaziou --- gnu/packages/task-management.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm index 9667df6030..3edf01a9f5 100644 --- a/gnu/packages/task-management.scm +++ b/gnu/packages/task-management.scm @@ -44,12 +44,12 @@ #:use-module (guix build-system meson) #:use-module (guix build-system python)) -(define-public t +(define-public t-todo-manager ;; Last release is more than 10 years old. Using latest commit. (let ((changeset "89ad444c000b") (revision "97")) (package - (name "t") + (name "t-todo-manager") (version (git-version "1.2.0" revision changeset)) (source (origin From d019bce1a3e174079ad0ed94e18a0080e632d36b Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Tue, 9 Mar 2021 21:08:36 +0100 Subject: [PATCH 0136/1003] gnu: emacs-php-mode: Update to 1.24.0. * gnu/packages/emacs-xyz.scm (emacs-php-mode): Update to 1.24.0. [arguments]: Include "lisp/" directory, and add it to load path before byte-compiling. --- gnu/packages/emacs-xyz.scm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index aeaedc2597..b5785505a5 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -12313,7 +12313,7 @@ using Imenu, and Compilation mode support for MSBuild, devenv and xbuild.") (define-public emacs-php-mode (package (name "emacs-php-mode") - (version "1.23.0") + (version "1.24.0") (source (origin (method git-fetch) @@ -12322,8 +12322,17 @@ using Imenu, and Compilation mode support for MSBuild, devenv and xbuild.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0wnkcxg6djy4jvxhshiy1iw6b5cf79pjwjhfd1a060cavhfm4v5c")))) + (base32 "0bs9q62bd7885c39v7x1qz3w1fhpmpdgm72xwsk2yygw0ii425nn")))) (build-system emacs-build-system) + (arguments + `(#:include (cons "^lisp/" %default-include) + #:phases + (modify-phases %standard-phases + (add-after 'add-source-to-load-path 'add-lisp-dir-to-emacs-load-path + (lambda _ + (setenv "EMACSLOADPATH" + (string-append (getcwd) "/lisp:" (getenv "EMACSLOADPATH")))))))) + (propagated-inputs `(("emacs-projectile" ,emacs-projectile))) (home-page "https://github.com/ejmr/php-mode") (synopsis "Major mode for editing PHP code") (description From fd5b77503e852b78a43e1bee4d6bdfbbb1f27e8f Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 9 Dec 2020 18:56:05 +0000 Subject: [PATCH 0137/1003] guix: substitutes: Make progress reporting configurable. Rather than always outputting to (current-error-port) in lookup-narinfos (which is called from within lookup-narinfos/diverse), take a procedure which should return a progress reporter, and defer any output to that. As this is now general purpose code, make the default behaviour to output nothing. Maintain the current behaviour of the substitute script by moving the progress reporter implementation there, and passing it in when calling lookup-narinfos/diverse. These changes should be generally useful, but I'm particularly looking at getting guix weather to do progress reporting differently, with this new flexibility. * guix/substitutes.scm (fetch-narinfos): Take a procedure to make a progress-reporter, and use that rather than the hardcoded behaviour. (lookup-narinfos): Add #:make-progress-reporter keyword argument, and pass this through to fetch-narinfos. (lookup-narinfos/diverse): Add a #:make-progress-reporter keyword argument, and pass this through to lookup-narinfos. * guix/scripts/substitute.scm (process-query): Pass a progress-reporter to lookup-narinfos/diverse. --- guix/scripts/substitute.scm | 23 +++++++++++++++++++-- guix/substitutes.scm | 40 ++++++++++++++++++++----------------- 2 files changed, 43 insertions(+), 20 deletions(-) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 5866b8bb0a..6892aa999b 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -288,12 +288,30 @@ authorized substitutes." (lambda (obj) (valid-narinfo? obj acl)))) + (define* (make-progress-reporter total #:key url) + (define done 0) + + (define (report-progress) + (erase-current-line (current-error-port)) ;erase current line + (force-output (current-error-port)) + (format (current-error-port) + (G_ "updating substitutes from '~a'... ~5,1f%") + url (* 100. (/ done total))) + (set! done (+ 1 done))) + + (progress-reporter + (start report-progress) + (report report-progress) + (stop (lambda () + (newline (current-error-port)))))) + (match (string-tokenize command) (("have" paths ..1) ;; Return the subset of PATHS available in CACHE-URLS. (let ((substitutable (lookup-narinfos/diverse cache-urls paths valid? - #:open-connection open-connection-for-uri/cached))) + #:open-connection open-connection-for-uri/cached + #:make-progress-reporter make-progress-reporter))) (for-each (lambda (narinfo) (format #t "~a~%" (narinfo-path narinfo))) substitutable) @@ -302,7 +320,8 @@ authorized substitutes." ;; Reply info about PATHS if it's in CACHE-URLS. (let ((substitutable (lookup-narinfos/diverse cache-urls paths valid? - #:open-connection open-connection-for-uri/cached))) + #:open-connection open-connection-for-uri/cached + #:make-progress-reporter make-progress-reporter))) (for-each display-narinfo-data substitutable) (newline))) (wtf diff --git a/guix/substitutes.scm b/guix/substitutes.scm index dc94ccc8e4..ef78013659 100644 --- a/guix/substitutes.scm +++ b/guix/substitutes.scm @@ -173,18 +173,14 @@ if file doesn't exist, and the narinfo otherwise." (apply throw args))))) (define* (fetch-narinfos url paths - #:key (open-connection guix:open-connection-for-uri)) + #:key + (open-connection guix:open-connection-for-uri) + (make-progress-reporter + (const progress-reporter/silent))) "Retrieve all the narinfos for PATHS from the cache at URL and return them." - (define update-progress! - (let ((done 0) - (total (length paths))) - (lambda () - (display "\r\x1b[K" (current-error-port)) ;erase current line - (force-output (current-error-port)) - (format (current-error-port) - (G_ "updating substitutes from '~a'... ~5,1f%") - url (* 100. (/ done total))) - (set! done (+ 1 done))))) + (define progress-reporter + (make-progress-reporter (length paths) + #:url url)) (define hash-part->path (let ((mapping (fold (lambda (path result) @@ -206,7 +202,7 @@ if file doesn't exist, and the narinfo otherwise." (len (response-content-length response)) (cache (response-cache-control response)) (ttl (and cache (assoc-ref cache 'max-age)))) - (update-progress!) + (progress-reporter-report! progress-reporter) ;; Make sure to read no more than LEN bytes since subsequent bytes may ;; belong to the next response. @@ -238,7 +234,7 @@ if file doesn't exist, and the narinfo otherwise." ;; narinfos, which provides a much stronger guarantee. (let* ((requests (map (cut narinfo-request url <>) paths)) (result (begin - (update-progress!) + (start-progress-reporter! progress-reporter) (call-with-connection-error-handling uri (lambda () @@ -247,7 +243,7 @@ if file doesn't exist, and the narinfo otherwise." requests #:open-connection open-connection #:verify-certificate? #f)))))) - (newline (current-error-port)) + (stop-progress-reporter! progress-reporter) result)) ((file #f) (let* ((base (string-append (uri-path uri) "/")) @@ -297,7 +293,9 @@ for PATH." (values #f #f)))) (define* (lookup-narinfos cache paths - #:key (open-connection guix:open-connection-for-uri)) + #:key (open-connection guix:open-connection-for-uri) + (make-progress-reporter + (const progress-reporter/silent))) "Return the narinfos for PATHS, invoking the server at CACHE when no information is available locally." (let-values (((cached missing) @@ -315,12 +313,16 @@ information is available locally." (if (null? missing) cached (let ((missing (fetch-narinfos cache missing - #:open-connection open-connection))) + #:open-connection open-connection + #:make-progress-reporter + make-progress-reporter))) (append cached (or missing '())))))) (define* (lookup-narinfos/diverse caches paths authorized? #:key (open-connection - guix:open-connection-for-uri)) + guix:open-connection-for-uri) + (make-progress-reporter + (const progress-reporter/silent))) "Look up narinfos for PATHS on all of CACHES, a list of URLS, in that order. That is, when a cache lacks an AUTHORIZED? narinfo, look it up in the next cache, and so on. @@ -353,7 +355,9 @@ AUTHORIZED? narinfo." (match caches ((cache rest ...) (let* ((narinfos (lookup-narinfos cache paths - #:open-connection open-connection)) + #:open-connection open-connection + #:make-progress-reporter + make-progress-reporter)) (definite (map narinfo-path (filter authorized? narinfos))) (missing (lset-difference string=? paths definite))) ;XXX: perf (loop rest missing From f5ffb3bd9cd59cfff5b4625d6d65e8d116d0a25b Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 24 Feb 2021 19:28:05 +0000 Subject: [PATCH 0138/1003] weather: Call lookup-narinfos with a custom progress reporter. This means there's a useful progress bar when running guix weather. * guix/scripts/weather.scm (report-server-coverage): Pass #:make-progress-reporter to lookup-narinfos. --- guix/scripts/weather.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/guix/scripts/weather.scm b/guix/scripts/weather.scm index 9e94bff5a3..26ec543211 100644 --- a/guix/scripts/weather.scm +++ b/guix/scripts/weather.scm @@ -181,7 +181,11 @@ Return the coverage ratio, an exact number between 0 and 1." (format #t (G_ "looking for ~h store items on ~a...~%") (length items) server) - (let/time ((time narinfos (lookup-narinfos server items))) + (let/time ((time narinfos (lookup-narinfos + server items + #:make-progress-reporter + (lambda* (total #:key url #:allow-other-keys) + (progress-reporter/bar total))))) (format #t "~a~%" server) (let ((obtained (length narinfos)) (requested (length items)) From 5b74e21e1212767083a5b796ebae9d32d5ff5e99 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 9 Mar 2021 22:27:39 +0200 Subject: [PATCH 0139/1003] gnu: ruby-pstree: Update to 0.3.0. * gnu/packages/ruby.scm (ruby-pstree): Update to 0.3.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index f6a1c69c52..c138f18f7e 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -6154,13 +6154,13 @@ interface so that Terraform can be more easily invoked from Ruby code.") (define-public ruby-pstree (package (name "ruby-pstree") - (version "0.1.0") + (version "0.3.0") (source (origin (method url-fetch) (uri (rubygems-uri "pstree" version)) (sha256 (base32 - "1mig1sv5qx1cdyhjaipy8jlh9j8pnja04vprrzihyfr54x0215p1")))) + "0ld3ng37y92kv9vqnachw1l3n07hsc8hrnjs9d840liw0mysf1vp")))) (build-system ruby-build-system) (native-inputs `(("ruby-gem-hadar" ,ruby-gem-hadar) From 251b0f7a6fa550ef4e0975668d7ab8c4c7b214d3 Mon Sep 17 00:00:00 2001 From: Felix Gruber Date: Sun, 7 Mar 2021 15:32:33 +0100 Subject: [PATCH 0140/1003] gnu: vtk: Fix build failure. * gnu/packages/image-processing.scm (vtk): Fix build failure. [source]: Add patch to fix build failure with recent versions of freetype. * gnu/packages/patches/vtk-fix-freetypetools-build-failure.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Efraim Flashner --- gnu/local.mk | 3 +- gnu/packages/image-processing.scm | 3 ++ .../vtk-fix-freetypetools-build-failure.patch | 36 +++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/vtk-fix-freetypetools-build-failure.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3a516d487f..bcee06a97a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -31,7 +31,7 @@ # Copyright © 2020 R Veera Kumar # Copyright © 2020 Nicolò Balzarotti # Copyright © 2020 Michael Rohleder -# Copyright © 2020 Felix Gruber +# Copyright © 2020, 2021 Felix Gruber # Copyright © 2020 Ryan Prior # Copyright © 2020 Jan Wielkiewicz # Copyright © 2020 Brice Waegeneire @@ -1720,6 +1720,7 @@ dist_patch_DATA = \ %D%/packages/patches/vsearch-unbundle-cityhash.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \ + %D%/packages/patches/vtk-fix-freetypetools-build-failure.patch \ %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \ %D%/packages/patches/webkitgtk-share-store.patch \ %D%/packages/patches/webkitgtk-bind-all-fonts.patch \ diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 5dfd18d1bd..6f4576b8b9 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2020 Pierre Neidhardt ;;; Copyright © 2020 Brendan Tildesley ;;; Copyright © 2021 Oleh Malyi +;;; Copyright © 2021 Felix Gruber ;;; ;;; This file is part of GNU Guix. ;;; @@ -254,6 +255,8 @@ many popular formats.") (sha256 (base32 "1fspgp8k0myr6p2a6wkc21ldcswb4bvmb484m12mxgk1a9vxrhrl")) + (patches + (search-patches "vtk-fix-freetypetools-build-failure.patch")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/patches/vtk-fix-freetypetools-build-failure.patch b/gnu/packages/patches/vtk-fix-freetypetools-build-failure.patch new file mode 100644 index 0000000000..6988e65872 --- /dev/null +++ b/gnu/packages/patches/vtk-fix-freetypetools-build-failure.patch @@ -0,0 +1,36 @@ +This fixes a build failure in VTK when building against recent versions +of freetype. + + https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7432 + +Patch by Ben Boeckel + +Subject: [PATCH] vtkFreeTypeTools: avoid using an internal macro + +This macro has been removed upstream as it was always intended to be +private. +--- + Rendering/FreeType/vtkFreeTypeTools.cxx | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/Rendering/FreeType/vtkFreeTypeTools.cxx b/Rendering/FreeType/vtkFreeTypeTools.cxx +index c54289dc60..03b899c4da 100644 +--- a/Rendering/FreeType/vtkFreeTypeTools.cxx ++++ b/Rendering/FreeType/vtkFreeTypeTools.cxx +@@ -387,11 +387,8 @@ FTC_CMapCache* vtkFreeTypeTools::GetCMapCache() + } + + //---------------------------------------------------------------------------- +-FT_CALLBACK_DEF(FT_Error) +-vtkFreeTypeToolsFaceRequester(FTC_FaceID face_id, +- FT_Library lib, +- FT_Pointer request_data, +- FT_Face* face) ++static FT_Error vtkFreeTypeToolsFaceRequester( ++ FTC_FaceID face_id, FT_Library lib, FT_Pointer request_data, FT_Face* face) + { + #if VTK_FTFC_DEBUG_CD + printf("vtkFreeTypeToolsFaceRequester()\n"); +-- +2.30.1 + From 80c83756e9ce7350ef236d72ecdfb0f2fa03ebfc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 9 Mar 2021 22:59:20 +0200 Subject: [PATCH 0141/1003] gnu: evisum: Update to 0.5.11. * gnu/packages/enlightenment.scm (evisum): Update to 0.5.11. --- gnu/packages/enlightenment.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index d2769a4d76..15ea89454f 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -567,14 +567,14 @@ directories. (define-public evisum (package (name "evisum") - (version "0.5.8") + (version "0.5.11") (source (origin (method url-fetch) (uri (string-append "https://download.enlightenment.org/rel/apps/" "evisum/evisum-" version ".tar.xz")) (sha256 - (base32 "0cg4vqd069h89k3wrvl550p29y3yzbdnvii58gwc8rghwym621jx")))) + (base32 "0cbfg393nlf0k91a2hdlyakns3dpzvs3isd95dm3zizydyf9h8wc")))) (build-system meson-build-system) (arguments '(#:tests? #f)) ; no tests From 3c04e179b7dc86bb6af5d6b7aec63430885e1c6a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:30:07 +0100 Subject: [PATCH 0142/1003] gnu: Add r-fastghquad. * gnu/packages/cran.scm (r-fastghquad): New variable. --- gnu/packages/cran.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 0943a8972b..c9d65a0efd 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1344,6 +1344,28 @@ are used. Fastmap avoids this memory leak issue by implementing the map using data structures in C++.") (license license:expat))) +(define-public r-fastghquad + (package + (name "r-fastghquad") + (version "1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "fastGHQuad" version)) + (sha256 + (base32 + "1rjia8wggadr9xwxcmzmal0rc4g6pa3dr5888fbbnb6abl8b2lrj")))) + (properties `((upstream-name . "fastGHQuad"))) + (build-system r-build-system) + (propagated-inputs + `(("r-rcpp" ,r-rcpp))) + (home-page "https://github.com/awblocker/fastGHQuad") + (synopsis "Fast Rcpp implementation of Gauss-Hermite Quadrature") + (description + "This package implements numerically-stable Gauss-Hermite quadrature +rules and utility functions for adaptive GH quadrature.") + (license license:expat))) + ;; This package includes minified JavaScript files. When upgrading please ;; check that there are no new minified JavaScript files. (define-public r-jquerylib From bcdf0cf3a59287db5716359998fd124dcc1d83c2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:30:45 +0100 Subject: [PATCH 0143/1003] gnu: Add r-rstpm2. * gnu/packages/cran.scm (r-rstpm2): New variable. --- gnu/packages/cran.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index c9d65a0efd..e00b611a83 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1366,6 +1366,39 @@ data structures in C++.") rules and utility functions for adaptive GH quadrature.") (license license:expat))) +(define-public r-rstpm2 + (package + (name "r-rstpm2") + (version "1.5.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "rstpm2" version)) + (sha256 + (base32 + "0c6l3z250b2kn6mh2xyb0bd2y5nsbj11n9xfi51dac9s8xq3v7m4")))) + (properties `((upstream-name . "rstpm2"))) + (build-system r-build-system) + (propagated-inputs + `(("r-bbmle" ,r-bbmle) + ("r-bh" ,r-bh) + ("r-desolve" ,r-desolve) + ("r-fastghquad" ,r-fastghquad) + ("r-mgcv" ,r-mgcv) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo) + ("r-survival" ,r-survival))) + (native-inputs + `(("gfortran" ,gfortran))) + (home-page "https://github.com/mclements/rstpm2") + (synopsis "Link-based survival models") + (description + "This package provides R implementations of @dfn{generalized survival +models} (GSMs), smooth @dfn{accelerated failure time} (AFT) models and Markov +multi-state models.") + ;; One of these licenses + (license (list license:gpl2 license:gpl3)))) + ;; This package includes minified JavaScript files. When upgrading please ;; check that there are no new minified JavaScript files. (define-public r-jquerylib From 91aa72bfe2b72c3fd3142caa879ad00510b13c19 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:31:03 +0100 Subject: [PATCH 0144/1003] gnu: Add r-palmerpenguins. * gnu/packages/cran.scm (r-palmerpenguins): New variable. --- gnu/packages/cran.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e00b611a83..a5c8de4d64 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2546,6 +2546,30 @@ inspired by Python's Literal String Interpolation (PEP-0498) and Docstrings (PEP-0257) and Julia's Triple-Quoted String Literals.") (license license:expat))) +(define-public r-palmerpenguins + (package + (name "r-palmerpenguins") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "palmerpenguins" version)) + (sha256 + (base32 + "0q1k3cdkliq7kwrg1n0vs9b6cjwyfarhlgdijhp9c6riy6y5ik7x")))) + (properties + `((upstream-name . "palmerpenguins"))) + (build-system r-build-system) + (home-page "https://allisonhorst.github.io/palmerpenguins/") + (synopsis "Palmer Archipelago (Antarctica) penguin data") + (description + "This package includes size measurements, clutch observations, and blood +isotope ratios for adult foraging Adélie, Chinstrap, and Gentoo penguins +observed on islands in the Palmer Archipelago near Palmer Station, Antarctica. +Data were collected and made available by Dr. Kristen Gorman and the Palmer +Station Long Term Ecological Research (LTER) Program.") + (license license:cc0))) + (define-public r-pastecs (package (name "r-pastecs") From c341a4d02e9e63856bd763f8aba016767abb30ae Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:31:28 +0100 Subject: [PATCH 0145/1003] gnu: Add r-gridtext. * gnu/packages/cran.scm (r-gridtext): New variable. --- gnu/packages/cran.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index a5c8de4d64..bb5fea95b8 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -16747,6 +16747,37 @@ matrix and displays the significance level on the plot. It also includes a function for computing a matrix of correlation p-values.") (license license:gpl2))) +(define-public r-gridtext + (package + (name "r-gridtext") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "gridtext" version)) + (sha256 + (base32 + "131kw7nkfwksviwfifd2kk7lyvhxzzzv1nnj8rahkr3dik3akk61")))) + (properties `((upstream-name . "gridtext"))) + (build-system r-build-system) + (propagated-inputs + `(("r-jpeg" ,r-jpeg) + ("r-markdown" ,r-markdown) + ("r-png" ,r-png) + ("r-rcpp" ,r-rcpp) + ("r-rcurl" ,r-rcurl) + ("r-rlang" ,r-rlang) + ("r-stringr" ,r-stringr) + ("r-xml2" ,r-xml2))) + (home-page "https://wilkelab.org/gridtext/") + (synopsis "Improved text rendering support for Grid graphics") + (description + "This package provides support for rendering of formatted text using Grid +graphics. Text can be formatted via a minimal subset of Markdown, HTML, and +inline CSS directives, and it can be rendered both with and without word +wrap.") + (license license:expat))) + ;; This package includes minified JavaScript files. When upgrading please ;; check that there are no new minified JavaScript files. (define-public r-flexdashboard From 1bbf632574dc47db680e883beb0d6a997fc867e6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:32:32 +0100 Subject: [PATCH 0146/1003] gnu: Add r-ggtext. * gnu/packages/cran.scm (r-ggtext): New variable. --- gnu/packages/cran.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index bb5fea95b8..232cea5cbc 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -16778,6 +16778,33 @@ inline CSS directives, and it can be rendered both with and without word wrap.") (license license:expat))) +(define-public r-ggtext + (package + (name "r-ggtext") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "ggtext" version)) + (sha256 + (base32 + "0n19dlcys8v7myfyckr6dnq0kx79k3sbh8nwx1jsx8pgzfbi8a2b")))) + (properties `((upstream-name . "ggtext"))) + (build-system r-build-system) + (propagated-inputs + `(("r-ggplot2" ,r-ggplot2) + ("r-gridtext" ,r-gridtext) + ("r-rlang" ,r-rlang) + ("r-scales" ,r-scales))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://wilkelab.org/ggtext/") + (synopsis "Improved text rendering support for ggplot2") + (description + "This package provides a ggplot2 extension that enables the rendering of +complex formatted plot labels (titles, subtitles, facet labels, axis labels, +etc.). Text boxes with automatic word wrap are also supported.") + (license license:gpl2))) + ;; This package includes minified JavaScript files. When upgrading please ;; check that there are no new minified JavaScript files. (define-public r-flexdashboard From 7fffee5e34c92359178da67206be348e42957e30 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:32:48 +0100 Subject: [PATCH 0147/1003] gnu: Add r-terra. * gnu/packages/cran.scm (r-terra): New variable. --- gnu/packages/cran.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 232cea5cbc..6b4370749c 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -18127,6 +18127,41 @@ stress majorization by Gansner et al. (2004) emphasize hidden group structures in networks or focus on specific nodes.") (license license:expat))) +(define-public r-terra + (package + (name "r-terra") + (version "1.1-4") + (source + (origin + (method url-fetch) + (uri (cran-uri "terra" version)) + (sha256 + (base32 + "1vsh55sq56shc8s2vmkl27yvrdbrbn3l6jrigqf2hmvppkb2jsbg")))) + (properties `((upstream-name . "terra"))) + (build-system r-build-system) + (inputs + `(("gdal" ,gdal) + ("geos" ,geos) + ("proj" ,proj) + ("sqlite" ,sqlite) ; needed for proj + ("zlib" ,zlib))) + (propagated-inputs + `(("r-raster" ,r-raster) + ("r-rcpp" ,r-rcpp))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://rspatial.org/terra") + (synopsis "Spatial data analysis") + (description + "This package provides methods for spatial data analysis, especially +raster data. The included methods allow for low-level data manipulation as +well as high-level global, local, zonal, and focal computation. The predict +and interpolate methods facilitate the use of regression type (interpolation, +machine learning) models for spatial prediction. Processing of very large +files is supported.") + (license license:gpl3+))) + (define-public r-tidygraph (package (name "r-tidygraph") From ef8e4f4172c080acae4f7253ecd316559d00468d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:37:45 +0100 Subject: [PATCH 0148/1003] gnu: r-wgcna: Update to 1.70-3. * gnu/packages/bioconductor.scm (r-wgcna): Update to 1.70-3. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 89b191585b..0899a013d5 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -8700,14 +8700,14 @@ routines.") (define-public r-wgcna (package (name "r-wgcna") - (version "1.69") + (version "1.70-3") (source (origin (method url-fetch) (uri (cran-uri "WGCNA" version)) (sha256 (base32 - "022hkprnrafvggi8pkjffkvk1qlnibmbbxxrni00wkrdbga5589f")))) + "1m6b4a2xpb02c1ajndhk8qlqnhwxa7lkkwj6nzv3l618jy1kp15r")))) (properties `((upstream-name . "WGCNA"))) (build-system r-build-system) (propagated-inputs From 4be2e0f309673cc83046573659c3823291399234 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:37:48 +0100 Subject: [PATCH 0149/1003] gnu: r-cachem: Update to 1.0.4. * gnu/packages/cran.scm (r-cachem): Update to 1.0.4. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6b4370749c..fd101b6895 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -129,14 +129,14 @@ files and provide more explicit control over line endings.") (define-public r-cachem (package (name "r-cachem") - (version "1.0.3") + (version "1.0.4") (source (origin (method url-fetch) (uri (cran-uri "cachem" version)) (sha256 (base32 - "0y3jb96lyn3vc3nq8gs9x669w3xp69vdg5xc69qy0l356r39gp3r")))) + "1b1gk837rk9kbfq385ybrrk12ckxwvhjvf0z9635l3vw49wal4mh")))) (properties `((upstream-name . "cachem"))) (build-system r-build-system) (propagated-inputs From 260259f5ef0baa37cf9180cfc184e1410a07828a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:37:52 +0100 Subject: [PATCH 0150/1003] gnu: r-waldo: Update to 0.2.5. * gnu/packages/cran.scm (r-waldo): Update to 0.2.5. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index fd101b6895..c5da1f1429 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -175,14 +175,14 @@ visualization of their differences.") (define-public r-waldo (package (name "r-waldo") - (version "0.2.3") + (version "0.2.5") (source (origin (method url-fetch) (uri (cran-uri "waldo" version)) (sha256 (base32 - "0lsw8p4wiggqm9fvh5vgmf0ms0npcg3hcwyzlg5ahv5yx4pv5fhz")))) + "09jhwpgd6hg4qyip4r7wzpjz0jr139fyspd5ncriqimp522snqbr")))) (properties `((upstream-name . "waldo"))) (build-system r-build-system) (propagated-inputs From fa00e35b9ed1dac48258f24bc86d22cf76368760 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:37:55 +0100 Subject: [PATCH 0151/1003] gnu: r-rticles: Update to 0.19. * gnu/packages/cran.scm (r-rticles): Update to 0.19. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index c5da1f1429..4c5ea04b25 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -205,14 +205,14 @@ easier.") (define-public r-rticles (package (name "r-rticles") - (version "0.18") + (version "0.19") (source (origin (method url-fetch) (uri (cran-uri "rticles" version)) (sha256 (base32 - "1srczjy9dqw06glrv95798xsg462kfbbwm3yk1fv1zhpz9jhakwv")))) + "1zcj5y54z1max1df9j2iclm6zlcic4wj684y18wcnmmdwfs51818")))) (properties `((upstream-name . "rticles"))) (build-system r-build-system) (propagated-inputs From f0f2e2cbda1d0b8280c3e9d76ffef8dbc090e592 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:37:58 +0100 Subject: [PATCH 0152/1003] gnu: r-partykit: Update to 1.2-13. * gnu/packages/cran.scm (r-partykit): Update to 1.2-13. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 4c5ea04b25..c786fff38f 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2594,13 +2594,13 @@ initiative to bring PASSTEC 2000 functionalities to R.") (define-public r-partykit (package (name "r-partykit") - (version "1.2-12") + (version "1.2-13") (source (origin (method url-fetch) (uri (cran-uri "partykit" version)) (sha256 (base32 - "15d5g89winndv8cy8jjjxy87fliafp5zyb8b58czrijwcmagg50l")))) + "15bfhqvx2y4vclnc3sw4v7ggs70pk57b3qk9aqjfvdrx444d2gd4")))) (build-system r-build-system) (propagated-inputs `(("r-formula" ,r-formula) From 601a112bb21f52f1ecdded107bfba2892eb1873d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:01 +0100 Subject: [PATCH 0153/1003] gnu: r-ps: Update to 1.6.0. * gnu/packages/cran.scm (r-ps): Update to 1.6.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index c786fff38f..ee99374735 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2674,13 +2674,13 @@ print, summary, plot, update, etc. (define-public r-ps (package (name "r-ps") - (version "1.5.0") + (version "1.6.0") (source (origin (method url-fetch) (uri (cran-uri "ps" version)) (sha256 - (base32 "15pyz94b0z6ibrjp25np5nd4z20whnnr35wsavdgwmsmynba2qbl")))) + (base32 "0cdzjqgap108whhsilxllg12m2d05pgksryhrz5bq608bvf7vbc9")))) (build-system r-build-system) (home-page "https://ps.r-lib.org") (synopsis "List, query, and manipulate system processes") From 84e39b3d9979126323e5acb9a23852d1ad27baab Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:04 +0100 Subject: [PATCH 0154/1003] gnu: r-pkgload: Update to 1.2.0. * gnu/packages/cran.scm (r-pkgload): Update to 1.2.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ee99374735..afc3dd5678 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2720,14 +2720,14 @@ is configured appropriately so R can use them.") (define-public r-pkgload (package (name "r-pkgload") - (version "1.1.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (cran-uri "pkgload" version)) (sha256 (base32 - "03bv8xq4s6s7m34y1kjs99jzlb95vwrfi76mbnhmzcx2pc6ld78q")))) + "185xr79z2vncq62bni7x4qv3p7dxvnfsbdnnglma0a196hz6pj7v")))) (build-system r-build-system) (propagated-inputs `(("r-cli" ,r-cli) From 7ff93d34830ea4d97694b2954db0bf180eea790a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:07 +0100 Subject: [PATCH 0155/1003] gnu: r-ffbase: Update to 0.13.3. * gnu/packages/cran.scm (r-ffbase): Update to 0.13.3. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index afc3dd5678..0675a3660c 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3126,14 +3126,14 @@ in main memory.") (define-public r-ffbase (package (name "r-ffbase") - (version "0.13.1") + (version "0.13.3") (source (origin (method url-fetch) (uri (cran-uri "ffbase" version)) (sha256 (base32 - "0knl0vnh8w4q3ry24gp4fd55ipnaj9hb1rwm31fs119kgmh3gd8x")))) + "1dp6lblfq2j7r1b4b8ls47jlx8j27n88d5vp8w116lb8pa01zxmk")))) (build-system r-build-system) (propagated-inputs `(("r-bit" ,r-bit) From adbd713085e71ee6356445689470e7a0727ce99f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:11 +0100 Subject: [PATCH 0156/1003] gnu: r-ggally: Update to 2.1.1. * gnu/packages/cran.scm (r-ggally): Update to 2.1.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 0675a3660c..77e41babd6 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3246,14 +3246,14 @@ package also provides a C++ API, that works with or without Rcpp.") (define-public r-ggally (package (name "r-ggally") - (version "2.1.0") + (version "2.1.1") (source (origin (method url-fetch) (uri (cran-uri "GGally" version)) (sha256 (base32 - "0lvcvlc8p2cii7rqx7m81f7cv3kk9mlf7cbbgv7l75g7ljw8dyvz")))) + "0lly659kd43cnz1bmmzqj6dbf4v0nm8dhj8xq2wlv9qbnfhq5r9p")))) (properties `((upstream-name . "GGally"))) (build-system r-build-system) (inputs From 4fcbe65d61299031059a2909a7a59a155e1066f0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:14 +0100 Subject: [PATCH 0157/1003] gnu: r-proxy: Update to 0.4-25. * gnu/packages/cran.scm (r-proxy): Update to 0.4-25. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 77e41babd6..0aa98cadf0 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3285,14 +3285,14 @@ plot networks.") (define-public r-proxy (package (name "r-proxy") - (version "0.4-24") + (version "0.4-25") (source (origin (method url-fetch) (uri (cran-uri "proxy" version)) (sha256 (base32 - "0z4wdnpv5x135nssxnmkkba7fivd5xgbpaabqjkl2na76vq9pzwc")))) + "1m893djrv6ckadmlx9n5bxfp0ycdh2w63sy6yxfyj1migvc7072f")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/proxy") (synopsis "Distance and similarity measures") From 37097b923c6cb7c768105b561cbd13a624569079 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:17 +0100 Subject: [PATCH 0158/1003] gnu: r-rmpi: Update to 0.6-9.1. * gnu/packages/cran.scm (r-rmpi): Update to 0.6-9.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 0aa98cadf0..c62b2cf042 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3368,13 +3368,13 @@ matrices.") (define-public r-rmpi (package (name "r-rmpi") - (version "0.6-9") + (version "0.6-9.1") (source (origin (method url-fetch) (uri (cran-uri "Rmpi" version)) (sha256 (base32 - "1rhycla98hxgnnxlxxldr1x51djak7c2jjvlrv3jcsvgwp1ymqdj")))) + "1j8akqjan59yzwx2s1zxc214qyd323fd2i2dhgq0n11mb6ajmq4r")))) (properties `((upstream-name . "Rmpi"))) (build-system r-build-system) (arguments From b3700e61d4e30a938f8107e1f93969d97a27a861 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:21 +0100 Subject: [PATCH 0159/1003] gnu: r-energy: Update to 1.7-8. * gnu/packages/cran.scm (r-energy): Update to 1.7-8. [propagated-inputs]: Add r-gsl. --- gnu/packages/cran.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index c62b2cf042..16e0c71e30 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3750,17 +3750,18 @@ data). Weighted versions of MLE, MME and QME are available.") (define-public r-energy (package (name "r-energy") - (version "1.7-7") + (version "1.7-8") (source (origin (method url-fetch) (uri (cran-uri "energy" version)) (sha256 (base32 - "13wnx5nwk7nsv7vf5sxhz4y0rxrnzm76ldgywk1bxrz67srqzf37")))) + "12a7gy681aq3l55iys044cs6sn1s2l5qihghpdl01cvv0ggfh26y")))) (build-system r-build-system) (propagated-inputs `(("r-boot" ,r-boot) + ("r-gsl" ,r-gsl) ("r-rcpp" ,r-rcpp))) (home-page "https://cran.r-project.org/web/packages/energy") (synopsis "Multivariate inference via the energy of data") From 6c7d9efdd87ac8bd71364cbb00b8514d44d60fd3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:24 +0100 Subject: [PATCH 0160/1003] gnu: r-ipred: Update to 0.9-10. * gnu/packages/cran.scm (r-ipred): Update to 0.9-10. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 16e0c71e30..58e397df3c 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4214,14 +4214,14 @@ provided.") (define-public r-ipred (package (name "r-ipred") - (version "0.9-9") + (version "0.9-10") (source (origin (method url-fetch) (uri (cran-uri "ipred" version)) (sha256 (base32 - "0vs1hqfx7yd0xdbmfsf2gim7spkni0845cj6gswn0nhdfdq7ma0d")))) + "0p9cd2v47h71jbz8q0z6xykkaqpcp0mkpsfmd2bn961n1hfgpa63")))) (build-system r-build-system) (propagated-inputs `(("r-class" ,r-class) From 0496ce3c4424976e55597d464319b05868c9a6d6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:27 +0100 Subject: [PATCH 0161/1003] gnu: r-broom: Update to 0.7.5. * gnu/packages/cran.scm (r-broom): Update to 0.7.5. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 58e397df3c..c387dadc25 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4294,14 +4294,14 @@ by base R methods related to model fitting.") (define-public r-broom (package (name "r-broom") - (version "0.7.4") + (version "0.7.5") (source (origin (method url-fetch) (uri (cran-uri "broom" version)) (sha256 (base32 - "1zwdgv59a5c4mdcfn3anvsf83ymi11ij6k9nssw3aqzirp6fwg3w")))) + "1qjyl5b100bsakm48w1vi3819lkpys7vb86n1sv9h4y2wr1c4jmw")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports) From 5136cc1306596a8c3eec4b440263e632301cef02 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:31 +0100 Subject: [PATCH 0162/1003] gnu: r-cli: Update to 2.3.1. * gnu/packages/cran.scm (r-cli): Update to 2.3.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index c387dadc25..70571e0f7f 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5067,14 +5067,14 @@ plots in @code{ggplot2}.") (define-public r-cli (package (name "r-cli") - (version "2.3.0") + (version "2.3.1") (source (origin (method url-fetch) (uri (cran-uri "cli" version)) (sha256 (base32 - "128bx3bds0dnkixc4frbky11rz1ilnvdfzz9mggajj690i11b62q")))) + "1jh64ixn6mg2ap1sx4azrxkjnlsyjbfxyc9zjkx8m9dlakgf4v2i")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) From 6fe7e138b95720d1f20de3f39681b0233499da8d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:34 +0100 Subject: [PATCH 0163/1003] gnu: r-argparser: Update to 0.7.1. * gnu/packages/cran.scm (r-argparser): Update to 0.7.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 70571e0f7f..e514adf42e 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5089,14 +5089,14 @@ rules, boxes, trees, and Unicode symbols with ASCII alternatives.") (define-public r-argparser (package (name "r-argparser") - (version "0.6") + (version "0.7.1") (source (origin (method url-fetch) (uri (cran-uri "argparser" version)) (sha256 (base32 - "1pxiz9jlhlnpzqn1lz349r07i7glw708w202x6dlnxp112fg7k4x")))) + "0xcl0ivsbc4iw8s7027q4cx68j6s5lihbby0xa9pmlv4wjmcvdr6")))) (build-system r-build-system) (home-page "https://bitbucket.org/djhshih/argparser") (synopsis "Command-line argument parser") From bd1ff10ea0a70b1530c46d63bb10e71c8316bfd1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:38 +0100 Subject: [PATCH 0164/1003] gnu: r-pillar: Update to 1.5.1. * gnu/packages/cran.scm (r-pillar): Update to 1.5.1. [native-inputs]: Add r-knitr. --- gnu/packages/cran.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e514adf42e..ff5347de48 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5379,14 +5379,14 @@ to variables on the left-hand side of the assignment.") (define-public r-pillar (package (name "r-pillar") - (version "1.4.7") + (version "1.5.1") (source (origin (method url-fetch) (uri (cran-uri "pillar" version)) (sha256 (base32 - "167ji21fx04s2niw5pjq9vzxgagxzsg3gimh8dzr2kl5ljrb5vfd")))) + "0wp68cg95895aybi7yjqy0sidvc68lmfqndinpd63dysci9x3r8c")))) (build-system r-build-system) (propagated-inputs `(("r-cli" ,r-cli) @@ -5397,6 +5397,8 @@ to variables on the left-hand side of the assignment.") ("r-rlang" ,r-rlang) ("r-utf8" ,r-utf8) ("r-vctrs" ,r-vctrs))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/r-lib/pillar") (synopsis "Coloured formatting for columns") (description From 17747033833c17fd1911e3ef4508e5495bf592da Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:41 +0100 Subject: [PATCH 0165/1003] gnu: r-tinytex: Update to 0.30. * gnu/packages/cran.scm (r-tinytex): Update to 0.30. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ff5347de48..f4723fd00e 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5429,14 +5429,14 @@ terminals.") (define-public r-tinytex (package (name "r-tinytex") - (version "0.29") + (version "0.30") (source (origin (method url-fetch) (uri (cran-uri "tinytex" version)) (sha256 (base32 - "0my1412vn5zri01w2myzn268lfwinbhfgdj4bbcib3s48i9djw0n")))) + "0dk6mpszwh1m65b0wfwjlcvpzywmasf6p31niqiq53wnd92my0gw")))) (build-system r-build-system) (propagated-inputs `(("r-xfun" ,r-xfun))) From 0505facdd550522276f69810701cd93cb8212e4d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:45 +0100 Subject: [PATCH 0166/1003] gnu: r-rio: Update to 0.5.26. * gnu/packages/cran.scm (r-rio): Update to 0.5.26. [native-inputs]: Add r-knitr. --- gnu/packages/cran.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index f4723fd00e..1fb64241a3 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -6868,14 +6868,14 @@ dependency on Java.") (define-public r-rio (package (name "r-rio") - (version "0.5.16") + (version "0.5.26") (source (origin (method url-fetch) (uri (cran-uri "rio" version)) (sha256 (base32 - "0rfl56fdawlhc98451a9lcb6a6m56kw0i7dvd5hx58z025d8vsyk")))) + "1k6zxjb2bb0z6rv7zmkbaz85cbvs84mj602ikkwk60alh8kpdw2d")))) (build-system r-build-system) (propagated-inputs `(("r-curl" ,r-curl) @@ -6885,6 +6885,8 @@ dependency on Java.") ("r-openxlsx" ,r-openxlsx) ("r-readxl" ,r-readxl) ("r-tibble" ,r-tibble))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/leeper/rio") (synopsis "Swiss-army knife for data I/O") (description From 9d9d11b5d3f4dbf43ec51d137f5d6232e77aad2f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:49 +0100 Subject: [PATCH 0167/1003] gnu: r-promises: Update to 1.2.0.1. * gnu/packages/cran.scm (r-promises): Update to 1.2.0.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 1fb64241a3..3e0a608ba4 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -6957,14 +6957,14 @@ time after the current time, after the R execution stack has emptied.") (define-public r-promises (package (name "r-promises") - (version "1.1.1") + (version "1.2.0.1") (source (origin (method url-fetch) (uri (cran-uri "promises" version)) (sha256 (base32 - "002qkhcn3ri6a3w5fizjvdvrjgvqiw8i7rl9jglcnqik5kmwc61p")))) + "1dy4cbqw17awh4q8m7cy3anaj0n9iynabfzflb1g94cyj0bq4fld")))) (build-system r-build-system) (propagated-inputs `(("r-later" ,r-later) From b592c4dbe6e95c4c9c6a56c0aa67e341c0d6b97a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:53 +0100 Subject: [PATCH 0168/1003] gnu: r-rastervis: Update to 0.50. * gnu/packages/cran.scm (r-rastervis): Update to 0.50. [propagated-inputs]: Add r-terra. --- gnu/packages/cran.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 3e0a608ba4..96055c68b2 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -7248,14 +7248,14 @@ Python's @url{https://github.com/ActiveState/appdirs,Appdirs} to R.") (define-public r-rastervis (package (name "r-rastervis") - (version "0.49") + (version "0.50") (source (origin (method url-fetch) (uri (cran-uri "rasterVis" version)) (sha256 (base32 - "0d12h7xqcwy1wps6yya9nzfppbnsxpmbkqmy3a8pvxpg81l632kk")))) + "0m7fjd53apxim0d0rjnyzc28vmfcg4spcrn0zbnk8llillxji1hi")))) (properties `((upstream-name . "rasterVis"))) (build-system r-build-system) (propagated-inputs @@ -7265,6 +7265,7 @@ Python's @url{https://github.com/ActiveState/appdirs,Appdirs} to R.") ("r-raster" ,r-raster) ("r-rcolorbrewer" ,r-rcolorbrewer) ("r-sp" ,r-sp) + ("r-terra" ,r-terra) ("r-viridislite" ,r-viridislite) ("r-zoo" ,r-zoo))) (home-page "https://oscarperpinan.github.io/rastervis/") From 2c49fe40630721735e4e7ad088502fbf264416b9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:56 +0100 Subject: [PATCH 0169/1003] gnu: r-renv: Update to 0.13.0. * gnu/packages/cran.scm (r-renv): Update to 0.13.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 96055c68b2..5704a2d5f4 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -7307,14 +7307,14 @@ those searches and pull data into their R sessions.") (define-public r-renv (package (name "r-renv") - (version "0.12.5") + (version "0.13.0") (source (origin (method url-fetch) (uri (cran-uri "renv" version)) (sha256 (base32 - "0wfq1z5glng6jrfxj25mjhp129z6468gaszr9ggks5gp8lrwszzh")))) + "16n2dz9jibc03f7q1wrzxss6l5jmaks7m2lnli9dz9anvcmxbdia")))) (properties `((upstream-name . "renv"))) (build-system r-build-system) (native-inputs From b6d9965d41b239573b3d6a47c92a3a8899750e22 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:38:59 +0100 Subject: [PATCH 0170/1003] gnu: r-ggsignif: Update to 0.6.1. * gnu/packages/cran.scm (r-ggsignif): Update to 0.6.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 5704a2d5f4..4f9b6406e5 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -7497,14 +7497,14 @@ movies, and TV shows.") (define-public r-ggsignif (package (name "r-ggsignif") - (version "0.6.0") + (version "0.6.1") (source (origin (method url-fetch) (uri (cran-uri "ggsignif" version)) (sha256 (base32 - "17j9hg967k1wp9xw3x84mqss58jkb8pvlrnlchz4i1hklgykxqbg")))) + "0rjy9wqsq67jjm1jz3j7hm599x0rshrrhw2w01iaqb9kf506hvjh")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) From fdf375346adeaab801709828f5f473c9690ca01c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:39:02 +0100 Subject: [PATCH 0171/1003] gnu: r-rstatix: Update to 0.7.0. * gnu/packages/cran.scm (r-rstatix): Update to 0.7.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 4f9b6406e5..dc2de4b5a2 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -7524,14 +7524,14 @@ and adds the annotation to the plot.") (define-public r-rstatix (package (name "r-rstatix") - (version "0.6.0") + (version "0.7.0") (source (origin (method url-fetch) (uri (cran-uri "rstatix" version)) (sha256 (base32 - "0nwwvxwr4z3j4n9z8cnvwghppc836g47n0ia98chk272qwh8xcpb")))) + "0330y8iziffqg8j9j5h9zv4qcdyf8ybhmzxrr9fzq9nc6bf1gbm5")))) (properties `((upstream-name . "rstatix"))) (build-system r-build-system) (propagated-inputs From 0281b306cafcf9eb77891a61ba1f097f99dfd778 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:39:07 +0100 Subject: [PATCH 0172/1003] gnu: r-rdpack: Update to 2.1.1. * gnu/packages/cran.scm (r-rdpack): Update to 2.1.1. [propagated-inputs]: Remove r-gbrd. --- gnu/packages/cran.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index dc2de4b5a2..33670bf5a0 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -7900,19 +7900,18 @@ implemented in bibutils.") (define-public r-rdpack (package (name "r-rdpack") - (version "2.1") + (version "2.1.1") (source (origin (method url-fetch) (uri (cran-uri "Rdpack" version)) (sha256 (base32 - "1kmz0kq2z1xl55w22paz98x9jpss06abvicmkslv4zq77kz99q16")))) + "11psw5yiamq0g7jc6fqn2wis565i60qgda4a5d09qi8fyzd6mnfb")))) (properties `((upstream-name . "Rdpack"))) (build-system r-build-system) (propagated-inputs - `(("r-rbibutils" ,r-rbibutils) - ("r-gbrd" ,r-gbrd))) + `(("r-rbibutils" ,r-rbibutils))) (home-page "https://github.com/GeoBosh/Rdpack") (synopsis "Update and manipulate Rd documentation objects") (description From ad037d6ecb92628e35de7d0655bf790f927f67ee Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:39:10 +0100 Subject: [PATCH 0173/1003] gnu: r-officer: Update to 0.3.17. * gnu/packages/cran.scm (r-officer): Update to 0.3.17. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 33670bf5a0..2ce7ba04b3 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -7926,14 +7926,14 @@ references and Rd files.") (define-public r-officer (package (name "r-officer") - (version "0.3.16") + (version "0.3.17") (source (origin (method url-fetch) (uri (cran-uri "officer" version)) (sha256 (base32 - "1ls5kp70jfxrzxxb3xrg8sn2fyk6qd7rmx23n5jxi7z7850avjrj")))) + "1apg0dh1zfhrqcbbmm8318l40gyjbqc2l9sdvwxx7qi8mzc1mqvw")))) (build-system r-build-system) (propagated-inputs `(("r-r6" ,r-r6) From 111400674ff4699e4ddd8ce03d3d4bff0650885e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:39:13 +0100 Subject: [PATCH 0174/1003] gnu: r-insight: Update to 0.13.1. * gnu/packages/cran.scm (r-insight): Update to 0.13.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 2ce7ba04b3..70b3ff1106 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -8187,14 +8187,14 @@ other add-on packages.") (define-public r-insight (package (name "r-insight") - (version "0.12.0") + (version "0.13.1") (source (origin (method url-fetch) (uri (cran-uri "insight" version)) (sha256 (base32 - "0gkvcw9d729ql1gfrpxzgrag4xafd0hchrdww215qz11ma1rzy7s")))) + "1la4yxzfl9fnknamnaziil6gvpdzl78z16lfzis9jgzg8r9q0y5l")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) From c1037edc89b2ca4e8c9aee4f410aa148cff20a99 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:39:16 +0100 Subject: [PATCH 0175/1003] gnu: r-deriv: Update to 4.1.3. * gnu/packages/cran.scm (r-deriv): Update to 4.1.3. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 70b3ff1106..1e3716bb37 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -8549,14 +8549,14 @@ Group (Non-)Overlap considerations.") (define-public r-deriv (package (name "r-deriv") - (version "4.1.2") + (version "4.1.3") (source (origin (method url-fetch) (uri (cran-uri "Deriv" version)) (sha256 (base32 - "1j9sh1w9lsnnhlh59g4ghykyfx46rxh380s8imvm7pzna7rw7c64")))) + "130g3mv0z9sqs6y23a0a94512iiw05yr6fp378vhdxxbignzbnyv")))) (properties `((upstream-name . "Deriv"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/Deriv") From 2dae640d8ab417c71dfedc7c5ac1c013d1c057b1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:39:19 +0100 Subject: [PATCH 0176/1003] gnu: r-doby: Update to 4.6.9. * gnu/packages/cran.scm (r-doby): Update to 4.6.9. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 1e3716bb37..f390c0814b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -8571,14 +8571,14 @@ the work.") (define-public r-doby (package (name "r-doby") - (version "4.6.8") + (version "4.6.9") (source (origin (method url-fetch) (uri (cran-uri "doBy" version)) (sha256 (base32 - "0r97kwsj6g87m7shgnjc5c9y71jkhiq4xd9q0s2bxl0vl92qqwvg")))) + "02f545md5yhbpp3wb3q2c8zabqwgf02555r5c6g7znab5zjbyr00")))) (properties `((upstream-name . "doBy"))) (build-system r-build-system) (propagated-inputs From 4c113c54f11a44a3f81b46bc4ced480a4620a744 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:39:25 +0100 Subject: [PATCH 0177/1003] gnu: r-labelled: Update to 2.8.0. * gnu/packages/cran.scm (r-labelled): Update to 2.8.0. [propagated-inputs]: Remove r-pillar; add r-stringr. --- gnu/packages/cran.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index f390c0814b..61102aca55 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -9005,22 +9005,22 @@ and coverage methods to tune the choice of threshold.") (define-public r-labelled (package (name "r-labelled") - (version "2.7.0") + (version "2.8.0") (source (origin (method url-fetch) (uri (cran-uri "labelled" version)) (sha256 (base32 - "1nsb0mh0jg7gggc41b6v55nmfq07g0qn9fy55x4jws5dscs6pdmi")))) + "0fs8fhmk9j2nv2j87mpkmm0clz34f8kybnzn6pzqpcbwk0i2pcwg")))) (properties `((upstream-name . "labelled"))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) ("r-haven" ,r-haven) ("r-lifecycle" ,r-lifecycle) - ("r-pillar" ,r-pillar) ("r-rlang" ,r-rlang) + ("r-stringr" ,r-stringr) ("r-tidyr" ,r-tidyr) ("r-vctrs" ,r-vctrs))) (native-inputs From 70d490eb7381ec181820b635b316a76e3a55a997 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:39:28 +0100 Subject: [PATCH 0178/1003] gnu: r-gert: Update to 1.2.0. * gnu/packages/cran.scm (r-gert): Update to 1.2.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 61102aca55..4e00be66e5 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -10674,14 +10674,14 @@ user credentials.") (define-public r-gert (package (name "r-gert") - (version "1.1.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (cran-uri "gert" version)) (sha256 (base32 - "09har6mj7qy813s6dxyzfzmjwg60m8c01yx3q6lfsnvwqzxlqxv8")))) + "0ag2ia6cfb5drf3517lg5nhik1w0nv09a75wdy5jdciws1qra3d6")))) (properties `((upstream-name . "gert"))) (build-system r-build-system) (inputs From 7db329a300dac9ec40646dbd5c30c31eb2f0632d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:39:31 +0100 Subject: [PATCH 0179/1003] gnu: r-mvabund: Update to 4.1.9. * gnu/packages/cran.scm (r-mvabund): Update to 4.1.9. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 4e00be66e5..fed0f32df5 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -11052,14 +11052,14 @@ the interfaces between R and C++.") (define-public r-mvabund (package (name "r-mvabund") - (version "4.1.6") + (version "4.1.9") (source (origin (method url-fetch) (uri (cran-uri "mvabund" version)) (sha256 (base32 - "0aisvax9d7bk6aykrcdcn1ji618r520mcrkr1i3jnck1qs31z41f")))) + "19kyg0agjk7gxipa5kmklz4cqh97xrdbibmmy1g99r1gp3s9ml30")))) (build-system r-build-system) (propagated-inputs `(("r-mass" ,r-mass) From ed7f3e3c2f4f04068a837767486c3ba8224505d5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:39:34 +0100 Subject: [PATCH 0180/1003] gnu: r-rcppparallel: Update to 5.0.3. * gnu/packages/cran.scm (r-rcppparallel): Update to 5.0.3. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index fed0f32df5..98a13020c0 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -11241,14 +11241,14 @@ package provides a minimal R interface by relying on the Rcpp package.") (define-public r-rcppparallel (package (name "r-rcppparallel") - (version "5.0.2") + (version "5.0.3") (source (origin (method url-fetch) (uri (cran-uri "RcppParallel" version)) (sha256 (base32 - "10bg4fw38m64dhy543rwq2nnjjc9y24iggk343xslrb3ij8018lc")))) + "0ihcirny4al2ydymxhdfacwmybmrgrz5nm0lbf49gk2zy8w124ki")))) (properties `((upstream-name . "RcppParallel"))) (build-system r-build-system) (home-page "https://rcppcore.github.io/RcppParallel/") From 1b9009ce98fa373ade5952b4abc38c490a9a9625 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:39:37 +0100 Subject: [PATCH 0181/1003] gnu: r-rgl: Update to 0.105.22. * gnu/packages/cran.scm (r-rgl): Update to 0.105.22. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 98a13020c0..99b947540f 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -11310,14 +11310,14 @@ Bioconductor packages.") (define-public r-rgl (package (name "r-rgl") - (version "0.104.16") + (version "0.105.22") (source (origin (method url-fetch) (uri (cran-uri "rgl" version)) (sha256 (base32 - "169a8riiam8445nl7rcwn0x92dlwyzh5xldvap6dcxjyjqmjwbdq")))) + "1y69phym8pkdh1k808y3rp1030xmhjpc8vig9035v9n1r7v7a1kz")))) (build-system r-build-system) (native-inputs `(("pkg-config" ,pkg-config) From 1ef3abaff3f78b3c7e406b9a5e45f4f6e4a9ace0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:39:40 +0100 Subject: [PATCH 0182/1003] gnu: r-activity: Update to 1.3.1. * gnu/packages/cran.scm (r-activity): Update to 1.3.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 99b947540f..b68e52f02f 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -11505,14 +11505,14 @@ Scientific.") (define-public r-activity (package (name "r-activity") - (version "1.3") + (version "1.3.1") (source (origin (method url-fetch) (uri (cran-uri "activity" version)) (sha256 (base32 - "12imqj366dp6pam5gap6ji56p5wf1073xz5g4iikfxf5l8snxw92")))) + "1wn2a0hx7wfr2jyj1b772w5fgl6bcqkkw8cybais2s1wyjx8kjr5")))) (build-system r-build-system) (propagated-inputs `(("r-circular" ,r-circular) From 7fab62cecb59010980b62f867ed777b5b6d1729c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:39:44 +0100 Subject: [PATCH 0183/1003] gnu: r-ouch: Update to 2.15-1. * gnu/packages/cran.scm (r-ouch): Update to 2.15-1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b68e52f02f..b8304c064f 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -11531,14 +11531,14 @@ circular variables).") (define-public r-ouch (package (name "r-ouch") - (version "2.14-1") + (version "2.15-1") (source (origin (method url-fetch) (uri (cran-uri "ouch" version)) (sha256 (base32 - "0ddf9bw5lhj8vb0ja78jf99i0smq4rgmm842k4a4ygap41vdyn2b")))) + "0myddn3b28pswyk42kvwhyvkj30q41f677vpxclxacdfkhgvrj6q")))) (build-system r-build-system) (propagated-inputs `(("r-subplex" ,r-subplex))) (home-page "https://kingaa.github.io/ouch/") From cf1ef75cc4542eed74db8d22877e412f9302e8db Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:39:48 +0100 Subject: [PATCH 0184/1003] gnu: r-fftwtools: Update to 0.9-11. * gnu/packages/cran.scm (r-fftwtools): Update to 0.9-11. [native-inputs]: Add pkg-config. --- gnu/packages/cran.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b8304c064f..607ea4a7c6 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -11689,16 +11689,18 @@ components).") (define-public r-fftwtools (package (name "r-fftwtools") - (version "0.9-9") + (version "0.9-11") (source (origin (method url-fetch) (uri (cran-uri "fftwtools" version)) (sha256 (base32 - "0h8lyl2i6zq16ir7xnfj9dhyivxvwikm8lml19s8s8jx95z3n9x9")))) + "0zrchp4l0jdbir2gibjf00x225y9giqk80zvqmr2yyvc12lwkw7i")))) (build-system r-build-system) (inputs `(("fftw" ,fftw))) + (native-inputs + `(("pkg-config" ,pkg-config))) (home-page "https://github.com/krahim/fftwtools") (synopsis "Wrapper for FFTW3") (description From 1443bb0f1991c9c07f2187d15803a2e5be167f5b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:39:51 +0100 Subject: [PATCH 0185/1003] gnu: r-tiff: Update to 0.1-7. * gnu/packages/cran.scm (r-tiff): Update to 0.1-7. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 607ea4a7c6..b6fb030c9b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -11716,14 +11716,14 @@ redundant complex conjugate when the input is real data.") (define-public r-tiff (package (name "r-tiff") - (version "0.1-6") + (version "0.1-7") (source (origin (method url-fetch) (uri (cran-uri "tiff" version)) (sha256 (base32 - "1yy4im2lwzhjnnkfwxgkknsajvm83pcwaf370pkgfva2db0xjfv2")))) + "101n6x70fr1dhcwx53g3s8q1j4wh93y0388v1s1316f8558rxqxh")))) (build-system r-build-system) (inputs `(("libtiff" ,libtiff) From b63f13b59f36f8155644122e0209c40ddd75568e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:39:54 +0100 Subject: [PATCH 0186/1003] gnu: r-gargle: Update to 1.0.0. * gnu/packages/cran.scm (r-gargle): Update to 1.0.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b6fb030c9b..ddd6e74a07 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -12630,14 +12630,14 @@ and manipulating sets of ontological terms.") (define-public r-gargle (package (name "r-gargle") - (version "0.5.0") + (version "1.0.0") (source (origin (method url-fetch) (uri (cran-uri "gargle" version)) (sha256 (base32 - "1fykmiv3x8c9ai31r9wr7qcca51h6kqn9cgwbxvxfj15fhwskh4n")))) + "0hsqn4hf935wn6vk2pwym7la4sdvy271y4cashp38pg4hkpg9zph")))) (build-system r-build-system) (propagated-inputs `(("r-fs" ,r-fs) From 690940cc53a27117e7c8e8fec486f24bae2a9f0b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:39:57 +0100 Subject: [PATCH 0187/1003] gnu: r-dotcall64: Update to 1.0-1. * gnu/packages/cran.scm (r-dotcall64): Update to 1.0-1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ddd6e74a07..73719042b8 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -13164,14 +13164,14 @@ to throw errors if they aren't in the right form.") (define-public r-dotcall64 (package (name "r-dotcall64") - (version "1.0-0") + (version "1.0-1") (source (origin (method url-fetch) (uri (cran-uri "dotCall64" version)) (sha256 (base32 - "1b8p7m3w0m7bp977c6jz74xkd611cxg11j49yza59k5fp338scb9")))) + "1im5k8jbviwj2i42mq1kmjskh80isa7jr9w8i0fknidrzzy2h2zi")))) (properties `((upstream-name . "dotCall64"))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) From 089a3a7fcdc1d1572c805361c2776166ac162366 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:01 +0100 Subject: [PATCH 0188/1003] gnu: r-epi: Update to 2.44. * gnu/packages/cran.scm (r-epi): Update to 2.44. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 73719042b8..cc22283da9 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -13510,14 +13510,14 @@ model with finite state space using the Aalen-Johansen estimator.") (define-public r-epi (package (name "r-epi") - (version "2.43") + (version "2.44") (source (origin (method url-fetch) (uri (cran-uri "Epi" version)) (sha256 (base32 - "0wsjvilcivrhy2kh2dcagkzy7bjmfa0sq9xjpv6qb4b0nc0mv089")))) + "1wcxr1f7irgfdwzz4vf67114yhxrhxxxnhy4hfaww0zy91vzxx10")))) (properties `((upstream-name . "Epi"))) (build-system r-build-system) (propagated-inputs From 34471fa1b21b32673da05563a3568aba79826a7f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:04 +0100 Subject: [PATCH 0189/1003] gnu: r-shinyjqui: Update to 0.4.0. * gnu/packages/cran.scm (r-shinyjqui): Update to 0.4.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index cc22283da9..5617415eba 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -13968,14 +13968,14 @@ several common set, element and attribute related tasks.") (define-public r-shinyjqui (package (name "r-shinyjqui") - (version "0.3.3") + (version "0.4.0") (source (origin (method url-fetch) (uri (cran-uri "shinyjqui" version)) (sha256 (base32 - "0n4ijxmkp8x6dwrsxwvx0zgd8b5129cmn6q6rrav38v1q5k8889x")) + "0ins0pmfis34jr0rimsp1k1aw856r3xjdnsvv8lkwqhvp58nzqah")) (snippet '(begin (delete-file "inst/www/shinyjqui.min.js"))))) From a9ab8761142663eedb373216cd93525474a8b7ee Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:07 +0100 Subject: [PATCH 0190/1003] gnu: r-gamlss-dist: Update to 5.3-2. * gnu/packages/cran.scm (r-gamlss-dist): Update to 5.3-2. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 5617415eba..6b797675f4 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -14185,13 +14185,13 @@ such software by imputing dropout events.") (define-public r-gamlss-dist (package (name "r-gamlss-dist") - (version "5.1-7") + (version "5.3-2") (source (origin (method url-fetch) (uri (cran-uri "gamlss.dist" version)) (sha256 - (base32 "0nzgq3rnziy0i2zxn88hqy3pakpyin2m2csk9j3zg39si66c6wcq")))) + (base32 "1lyf2rvkplywgyhcni93k52z3b89vv86yrgl38dx3ln3436r5ahc")))) (properties `((upstream-name . "gamlss.dist"))) (build-system r-build-system) (propagated-inputs `(("r-mass" ,r-mass))) From 8c866232e1b219e2047418767d5b289bdfb7739b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:10 +0100 Subject: [PATCH 0191/1003] gnu: r-units: Update to 0.7-0. * gnu/packages/cran.scm (r-units): Update to 0.7-0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6b797675f4..8a225d843e 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -15144,14 +15144,14 @@ utilities for sequence data management under the ACNUC system.") (define-public r-units (package (name "r-units") - (version "0.6-7") + (version "0.7-0") (source (origin (method url-fetch) (uri (cran-uri "units" version)) (sha256 (base32 - "1rdpbkiqcabz00fqzzs98v89v4cgvcd4pb00pwxzkq6vmwmscwrz")))) + "0kwfcrrbcwl7s50n1wp33vswqzmprh91clvakbd1jpznqpg5m3js")))) (build-system r-build-system) (inputs `(("udunits" ,udunits))) From 5a3996538c61148dde8de17f788a1a0dbf42b6f7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:13 +0100 Subject: [PATCH 0192/1003] gnu: r-deldir: Update to 0.2-10. * gnu/packages/cran.scm (r-deldir): Update to 0.2-10. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 8a225d843e..4e1a0282ee 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -15273,14 +15273,14 @@ sampling.") (define-public r-deldir (package (name "r-deldir") - (version "0.2-9") + (version "0.2-10") (source (origin (method url-fetch) (uri (cran-uri "deldir" version)) (sha256 (base32 - "0jfwff5kk0zraspsvbk26lphl3fnrc6xmhl4690hr0a5k177ildm")))) + "08ij6zb6id71zk6gzs9z779y49y41c2gpi7p7mljnlw7py92g8k5")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) (home-page "https://cran.r-project.org/web/packages/deldir") From ab8c8693c1d504224fd9a51d5eb53d502db0bad4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:17 +0100 Subject: [PATCH 0193/1003] gnu: r-genetics: Update to 1.3.8.1.3. * gnu/packages/cran.scm (r-genetics): Update to 1.3.8.1.3. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 4e1a0282ee..058e15c289 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -15462,14 +15462,14 @@ genetics of complex population dynamics.") (define-public r-genetics (package (name "r-genetics") - (version "1.3.8.1.2") + (version "1.3.8.1.3") (source (origin (method url-fetch) (uri (cran-uri "genetics" version)) (sha256 (base32 - "1v0ylnia6c44v356dsmnkx6054vcxazpzsrdh3yph5ch5vg6gjrh")))) + "0lljxvz7nc6y2z303icphar2niir0i407w5cyhy2pwspd9gwkwpy")))) (build-system r-build-system) (propagated-inputs `(("r-combinat" ,r-combinat) From b96724c423fc582d5e510fad0b6a893db4a7fb20 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:20 +0100 Subject: [PATCH 0194/1003] gnu: r-arsenal: Update to 3.6.2. * gnu/packages/cran.scm (r-arsenal): Update to 3.6.2. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 058e15c289..09bfd12b97 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -15583,14 +15583,14 @@ generalized linear models, and quantile regression.") (define-public r-arsenal (package (name "r-arsenal") - (version "3.6.1") + (version "3.6.2") (source (origin (method url-fetch) (uri (cran-uri "arsenal" version)) (sha256 (base32 - "13ql3rb79a764ppsc1sqi8glzzkw79la0j2ahzbxgz7cz879sazy")))) + "0spm0s23xs5bm88slkz6a65mbs663qhnravwxp7rkdkr378vb5fn")))) (properties `((upstream-name . "arsenal"))) (build-system r-build-system) (propagated-inputs `(("r-knitr" ,r-knitr))) From a5cfb3f330e739485e2fb82d3c4941a2700d8297 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:23 +0100 Subject: [PATCH 0195/1003] gnu: r-farver: Update to 2.1.0. * gnu/packages/cran.scm (r-farver): Update to 2.1.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 09bfd12b97..39708dbcef 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -16206,14 +16206,14 @@ consists of @code{grid} grobs and viewports that can then be manipulated with (define-public r-farver (package (name "r-farver") - (version "2.0.3") + (version "2.1.0") (source (origin (method url-fetch) (uri (cran-uri "farver" version)) (sha256 (base32 - "1k75v07dsfkjra2gsgxg9s55cw3b46b1nh960kqphq7cg7gr058f")))) + "1x6ffwxqbrwlylnk995jz2a6nz2y9z59jaq0ncpni7q40w367j75")))) (build-system r-build-system) (home-page "https://github.com/thomasp85/farver") (synopsis "Vectorized color conversion and comparison") From df20df3512e324d737f784513257024a2eba1a31 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:26 +0100 Subject: [PATCH 0196/1003] gnu: r-ggforce: Update to 0.3.3. * gnu/packages/cran.scm (r-ggforce): Update to 0.3.3. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 39708dbcef..44aa815f38 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -16359,14 +16359,14 @@ sets of URLs.") (define-public r-ggforce (package (name "r-ggforce") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) (uri (cran-uri "ggforce" version)) (sha256 (base32 - "1lplxyq5bgx90dgaimhynpcywag1gp6vlsy7q52ay1nfc35qmkjc")))) + "0bwzjbjl678xvc2ihm80dwn9pidwafqjdab3k299csys16s3na1a")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) From 744190fe45575aa5dc30ee5f227926826fd95eb0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:29 +0100 Subject: [PATCH 0197/1003] gnu: r-ggraph: Update to 2.0.5. * gnu/packages/cran.scm (r-ggraph): Update to 2.0.5. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 44aa815f38..9f0c8ca760 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -16432,14 +16432,14 @@ databases, including ENA, PDB or ChEMBL are also accessible.") (define-public r-ggraph (package (name "r-ggraph") - (version "2.0.4") + (version "2.0.5") (source (origin (method url-fetch) (uri (cran-uri "ggraph" version)) (sha256 (base32 - "1j3xf4fsv0i0gbppdrw4yprfyk53wx6s8nvnkipi2ywbm7cr4q4w")))) + "0m4n8iw2b9jk8hcy5blg5w59zsqcpsbv27wbw598dvljpafx8sp3")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) From 6802fe3cb72633731cb46e74de178642716513ca Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:32 +0100 Subject: [PATCH 0198/1003] gnu: r-xmlparsedata: Update to 1.0.5. * gnu/packages/cran.scm (r-xmlparsedata): Update to 1.0.5. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 9f0c8ca760..1b339938d1 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -17054,14 +17054,14 @@ regular expressions from human readable expressions") (define-public r-xmlparsedata (package (name "r-xmlparsedata") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) (uri (cran-uri "xmlparsedata" version)) (sha256 (base32 - "177vfyjrqfi3wam8scpsradap1lv35yc25xq745dr7gabg116yrq")))) + "1c6bnz3ng1qw7sfip8wq3a4dn36a4d6rbja0sadn0a4pbsmk8q3n")))) (properties `((upstream-name . "xmlparsedata"))) (build-system r-build-system) (home-page "https://github.com/r-lib/xmlparsedata#readme") From fa82677b275a99d1538dc1b2190ce2b3f1ae7280 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:36 +0100 Subject: [PATCH 0199/1003] gnu: r-dalex: Update to 2.1.1. * gnu/packages/cran.scm (r-dalex): Update to 2.1.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 1b339938d1..cab5edae05 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -17482,14 +17482,14 @@ been used in the call to @code{aov}.") (define-public r-dalex (package (name "r-dalex") - (version "2.0.1") + (version "2.1.1") (source (origin (method url-fetch) (uri (cran-uri "DALEX" version)) (sha256 (base32 - "1hiknx55d91abyfj3w4a2xxin7f1q8h5k0041m7w93xjdc4kis98")))) + "1dnqsml94s648w8swsrq8spddnd4mj5pl3q6xxr917w6a1jxgyfz")))) (properties `((upstream-name . "DALEX"))) (build-system r-build-system) (propagated-inputs From ce5c9704b36cc3a783d352ecc157affc51c2ecc7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:40 +0100 Subject: [PATCH 0200/1003] gnu: r-kableextra: Update to 1.3.4. * gnu/packages/cran.scm (r-kableextra): Update to 1.3.4. [propagated-inputs]: Add r-svglite. --- gnu/packages/cran.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index cab5edae05..ed617a2563 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -17746,14 +17746,14 @@ LargeVis method of Tang et al. (2016) is also provided.") (define-public r-kableextra (package (name "r-kableextra") - (version "1.3.1") + (version "1.3.4") (source (origin (method url-fetch) (uri (cran-uri "kableExtra" version)) (sha256 (base32 - "1zixccpgy9x95fgzfgxc43pm020c80c21flch71klc3zzzsq53gf")))) + "1c5vzy95cbz36jwyssr927qicrayifinv861rvnmg4nghb1gl7q9")))) (properties `((upstream-name . "kableExtra"))) (build-system r-build-system) (propagated-inputs @@ -17767,6 +17767,7 @@ LargeVis method of Tang et al. (2016) is also provided.") ("r-rvest" ,r-rvest) ("r-scales" ,r-scales) ("r-stringr" ,r-stringr) + ("r-svglite" ,r-svglite) ("r-viridislite" ,r-viridislite) ("r-webshot" ,r-webshot) ("r-xml2" ,r-xml2))) From a9797ab65835bcde62c3042940db164537d77373 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:43 +0100 Subject: [PATCH 0201/1003] gnu: r-parameters: Update to 0.12.0. * gnu/packages/cran.scm (r-parameters): Update to 0.12.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ed617a2563..68e30a3205 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -18263,14 +18263,14 @@ in pipelines.") (define-public r-parameters (package (name "r-parameters") - (version "0.11.0") + (version "0.12.0") (source (origin (method url-fetch) (uri (cran-uri "parameters" version)) (sha256 (base32 - "020k3vxnp0vjrlkcxx5vj30vag474hw48zxzw9315whsq4hhhbqc")))) + "0dfqn4l4qmlpwmdva2ahyhlngkzdm0sgiirbdrf3mbbw52bhlmpm")))) (properties `((upstream-name . "parameters"))) (build-system r-build-system) (propagated-inputs From 894308dddbb1ad2b9b40ee157def90dab86f87a1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:46 +0100 Subject: [PATCH 0202/1003] gnu: r-lifecycle: Update to 1.0.0. * gnu/packages/cran.scm (r-lifecycle): Update to 1.0.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 68e30a3205..37c1b2b80d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -18348,14 +18348,14 @@ atmospheric physics.") (define-public r-lifecycle (package (name "r-lifecycle") - (version "0.2.0") + (version "1.0.0") (source (origin (method url-fetch) (uri (cran-uri "lifecycle" version)) (sha256 (base32 - "0912865c6675fsblrfdk6s568krsj1x8qbk1kipy7m05xs6nwx19")))) + "13hgxk93q9387s8dnqpm8dfx610y0pr76khqksj4kbgj2fr4lcq3")))) (properties `((upstream-name . "lifecycle"))) (build-system r-build-system) (propagated-inputs From 8bf21d40767fde8e0a1204d0cc69d41301fbe1f1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:49 +0100 Subject: [PATCH 0203/1003] gnu: r-gamlss: Update to 5.3-1. * gnu/packages/cran.scm (r-gamlss): Update to 5.3-1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 37c1b2b80d..812d37e464 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -19583,14 +19583,14 @@ models.") (define-public r-gamlss (package (name "r-gamlss") - (version "5.2-0") + (version "5.3-1") (source (origin (method url-fetch) (uri (cran-uri "gamlss" version)) (sha256 (base32 - "1q82md0439si0n7vqbbbdk45sjr0ad7i8mgrn3kwnr4h213pb4nk")))) + "1ngf6g4zixwm6ni5r0fs0f6132xd2f2a6mlski9hlqnvvwb46iwr")))) (properties `((upstream-name . "gamlss"))) (build-system r-build-system) (propagated-inputs From 61967afbc56fdf2459fbd12d98982be42f48b226 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:53 +0100 Subject: [PATCH 0204/1003] gnu: r-imager: Update to 0.42.7. * gnu/packages/cran.scm (r-imager): Update to 0.42.7. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 812d37e464..0ff1ea8452 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -20871,14 +20871,14 @@ number embedded in the file rather than the file extension.") (define-public r-imager (package (name "r-imager") - (version "0.42.3") + (version "0.42.7") (source (origin (method url-fetch) (uri (cran-uri "imager" version)) (sha256 (base32 - "1wxvbv803222gjrf1ys6a349xlnmmdw3kqgi93piq9gq7lahihvg")))) + "1dq0rblnrmnk689bcdmml179gk9lff8x92s2npkjllgjq5q2vfpd")))) (properties `((upstream-name . "imager"))) (build-system r-build-system) (inputs From 60f85395263dd7d9dead523024150ece7f0932e3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:56 +0100 Subject: [PATCH 0205/1003] gnu: r-isocodes: Update to 2021.02.24. * gnu/packages/cran.scm (r-isocodes): Update to 2021.02.24. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 0ff1ea8452..36d6f89b06 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -21945,14 +21945,14 @@ and Euclidean distance is particularly fast.") (define-public r-isocodes (package (name "r-isocodes") - (version "2020.12.04") + (version "2021.02.24") (source (origin (method url-fetch) (uri (cran-uri "ISOcodes" version)) (sha256 (base32 - "18373rkhmwm7y2drvfbhrxkqw9d23avf0ndvh0fg00z4djvddkjx")))) + "19irnn2yi1bzhf03g666la84kj8040f5913kfrmd16dfnjy6j9qm")))) (properties `((upstream-name . "ISOcodes"))) (build-system r-build-system) (home-page "https://cran.r-project.org/package=ISOcodes") From b631f7f8e4fd898ba62ad9402e247ef81c1ed35b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:40:59 +0100 Subject: [PATCH 0206/1003] gnu: r-openmx: Update to 2.19.1. * gnu/packages/cran.scm (r-openmx): Update to 2.19.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 36d6f89b06..d3fe280ef4 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -22421,14 +22421,14 @@ Complete access to optimized C functions is made available with (define-public r-openmx (package (name "r-openmx") - (version "2.18.1") + (version "2.19.1") (source (origin (method url-fetch) (uri (cran-uri "OpenMx" version)) (sha256 (base32 - "0gyjps0l3ig90piccgd04s63cz65kk5i5l9iyakps4bv27h1lzwm")))) + "0fbndmwb3krypsavgm3blqkhh8blmi3p186yxmvgv3a9m6r154rj")))) (properties `((upstream-name . "OpenMx"))) (build-system r-build-system) (propagated-inputs From e59f4ecda8809d29281bb29502492b95816e5f26 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:41:02 +0100 Subject: [PATCH 0207/1003] gnu: r-erm: Update to 1.0-2. * gnu/packages/cran.scm (r-erm): Update to 1.0-2. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index d3fe280ef4..f468369d35 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -22727,14 +22727,14 @@ Latent regression models and plausible value imputation are also supported.") (define-public r-erm (package (name "r-erm") - (version "1.0-1") + (version "1.0-2") (source (origin (method url-fetch) (uri (cran-uri "eRm" version)) (sha256 (base32 - "0njqzznnhnkvalmhiq5yq1w7gwp2myki5cv61w42ydvd27hdyyg9")))) + "0smym010kswc5vx90qr3x1vl16xj1x1i54rvrj006dc4agc1vmlk")))) (properties `((upstream-name . "eRm"))) (build-system r-build-system) (propagated-inputs From 2be47c7a9a5eaa1b4c05f0272d3d60a94a6c0f34 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:41:07 +0100 Subject: [PATCH 0208/1003] gnu: r-isoband: Update to 0.2.4. * gnu/packages/cran.scm (r-isoband): Update to 0.2.4. [propagated-inputs]: Remove r-testthat. --- gnu/packages/cran.scm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index f468369d35..5d6a045f60 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -23365,18 +23365,16 @@ Encyclopedia of Integer Sequences} (OEIS) in the function help page.") (define-public r-isoband (package (name "r-isoband") - (version "0.2.3") + (version "0.2.4") (source (origin (method url-fetch) (uri (cran-uri "isoband" version)) (sha256 (base32 - "1zkzdc39dpw2z59bjck27nimz9a2vskmw0f7wb17s53dvy7k3lzr")))) + "0z1qpxcl8b6fi691fbdr3vrb19mn4pas1iff62zl1bafzbdvpmcn")))) (properties `((upstream-name . "isoband"))) (build-system r-build-system) - (propagated-inputs - `(("r-testthat" ,r-testthat))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://github.com/wilkelab/isoband") From abdb1090a7331734dc40355885d484d4dda8171e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:41:14 +0100 Subject: [PATCH 0209/1003] gnu: r-flexsurv: Update to 2.0. * gnu/packages/cran.scm (r-flexsurv): Update to 2.0. [propagated-inputs]: Add r-assertthat, r-dplyr, r-generics, r-magrittr, r-matrix, r-numderiv, r-purrr, r-rlang, r-rstpm2, and r-tidyselect. --- gnu/packages/cran.scm | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 5d6a045f60..e840b2aa89 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -25084,26 +25084,36 @@ censored data.") (define-public r-flexsurv (package (name "r-flexsurv") - (version "1.1.1") + (version "2.0") (source (origin (method url-fetch) (uri (cran-uri "flexsurv" version)) (sha256 (base32 - "0x7p1rv51pplfyyzcg63ssb8z56mig7y0363hkr0219w3cvyq9nr")))) + "0vshsijqlzsz0xh426vsswpai1v5c990ggyniqqzsjbg3mn8dbl9")))) (properties `((upstream-name . "flexsurv"))) (build-system r-build-system) (propagated-inputs - `(("r-desolve" ,r-desolve) + `(("r-assertthat" ,r-assertthat) + ("r-desolve" ,r-desolve) + ("r-dplyr" ,r-dplyr) + ("r-generics" ,r-generics) + ("r-magrittr" ,r-magrittr) + ("r-matrix" ,r-matrix) ("r-mstate" ,r-mstate) ("r-muhaz" ,r-muhaz) ("r-mvtnorm" ,r-mvtnorm) + ("r-numderiv" ,r-numderiv) + ("r-purrr" ,r-purrr) ("r-quadprog" ,r-quadprog) ("r-rcpp" ,r-rcpp) + ("r-rlang" ,r-rlang) + ("r-rstpm2" ,r-rstpm2) ("r-survival" ,r-survival) ("r-tibble" ,r-tibble) - ("r-tidyr" ,r-tidyr))) + ("r-tidyr" ,r-tidyr) + ("r-tidyselect" ,r-tidyselect))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://github.com/chjackson/flexsurv-dev") From 8b1f08ba04cfd0508cb45f470d6ea1a043b53cfe Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:41:18 +0100 Subject: [PATCH 0210/1003] gnu: r-survminer: Update to 0.4.9. * gnu/packages/cran.scm (r-survminer): Update to 0.4.9. [propagated-inputs]: Add r-ggtext. --- gnu/packages/cran.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e840b2aa89..e78a24c893 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -25279,14 +25279,14 @@ p-value approximations.") (define-public r-survminer (package (name "r-survminer") - (version "0.4.8") + (version "0.4.9") (source (origin (method url-fetch) (uri (cran-uri "survminer" version)) (sha256 (base32 - "1niysd89mxb2a6ncvzm1s6xgfvq3psba65af0whh2p56r2hwrwff")))) + "0byh0wxdbjfwdrzsnqv4xlmnik6lj0vkkzfxy7lssk8dv5zmj7nz")))) (properties `((upstream-name . "survminer"))) (build-system r-build-system) (propagated-inputs @@ -25294,6 +25294,7 @@ p-value approximations.") ("r-dplyr" ,r-dplyr) ("r-ggplot2" ,r-ggplot2) ("r-ggpubr" ,r-ggpubr) + ("r-ggtext" ,r-ggtext) ("r-gridextra" ,r-gridextra) ("r-magrittr" ,r-magrittr) ("r-maxstat" ,r-maxstat) From b5b344fb2684261264dd20cb20b1a2eeb2359788 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:41:23 +0100 Subject: [PATCH 0211/1003] gnu: r-rsample: Update to 0.0.9. * gnu/packages/cran.scm (r-rsample): Update to 0.0.9. [propagated-inputs]: Remove r-modeldata. --- gnu/packages/cran.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e78a24c893..16b9a89235 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -25612,14 +25612,14 @@ sliding windows are to be created.") (define-public r-rsample (package (name "r-rsample") - (version "0.0.8") + (version "0.0.9") (source (origin (method url-fetch) (uri (cran-uri "rsample" version)) (sha256 (base32 - "1psmxk16d4bz1v05x0gb9hn4brkdjxw8hjbxmj62snichnix3q3i")))) + "03qwsvylgmj2a2h764mzy0x57pgzmvjvl0ypmbn4lcf912bvrd2c")))) (properties `((upstream-name . "rsample"))) (build-system r-build-system) (propagated-inputs @@ -25627,7 +25627,6 @@ sliding windows are to be created.") ("r-ellipsis" ,r-ellipsis) ("r-furrr" ,r-furrr) ("r-generics" ,r-generics) - ("r-modeldata" ,r-modeldata) ("r-purrr" ,r-purrr) ("r-rlang" ,r-rlang) ("r-slider" ,r-slider) From 2d89c723aba05e76c8863b779510dd0dc34935d7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:41:26 +0100 Subject: [PATCH 0212/1003] gnu: r-dicedesign: Update to 1.9. * gnu/packages/cran.scm (r-dicedesign): Update to 1.9. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 16b9a89235..a0d3e89e23 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -25646,14 +25646,14 @@ different types of resampling objects (e.g. bootstrap, cross-validation).") (define-public r-dicedesign (package (name "r-dicedesign") - (version "1.8-1") + (version "1.9") (source (origin (method url-fetch) (uri (cran-uri "DiceDesign" version)) (sha256 (base32 - "11s1m543kxd6gv4amh8z6pph1n67sj9sfwm6hjy83wfs65syf5vp")))) + "1a8ixa65xgyfri03cviic8qi2plbhdyz8m02bwif8w94w0q3ghlk")))) (properties `((upstream-name . "DiceDesign"))) (build-system r-build-system) (home-page "http://dice.emse.fr/") From e08e5f9fe2adae3249c396e643e4737036178dfd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:41:30 +0100 Subject: [PATCH 0213/1003] gnu: r-tune: Update to 0.1.3. * gnu/packages/cran.scm (r-tune): Update to 0.1.3. [propagated-inputs]: Remove r-hardhat. --- gnu/packages/cran.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index a0d3e89e23..1e627fbfd3 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -25698,14 +25698,14 @@ for creating, simulating, or validating values for such parameters.") (define-public r-tune (package (name "r-tune") - (version "0.1.2") + (version "0.1.3") (source (origin (method url-fetch) (uri (cran-uri "tune" version)) (sha256 (base32 - "0ja7rjkjj88v3ngrc6izcz2qh9qv4s8abgcafmvx2ihgz99hds37")))) + "05r5jzg96g2z10a2w4w8wq1ysfaxr91acwrvn75pmcy4rmixf293")))) (properties `((upstream-name . "tune"))) (build-system r-build-system) (propagated-inputs @@ -25717,7 +25717,6 @@ for creating, simulating, or validating values for such parameters.") ("r-ggplot2" ,r-ggplot2) ("r-glue" ,r-glue) ("r-gpfit" ,r-gpfit) - ("r-hardhat" ,r-hardhat) ("r-parsnip" ,r-parsnip) ("r-purrr" ,r-purrr) ("r-recipes" ,r-recipes) From ca718b9e3496fdcf74fd3ec2a5699d017d974932 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:41:33 +0100 Subject: [PATCH 0214/1003] gnu: r-paradox: Update to 0.7.1. * gnu/packages/cran.scm (r-paradox): Update to 0.7.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 1e627fbfd3..349598f3d9 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -26735,13 +26735,13 @@ package also supersedes the package @code{BBmisc}.") (define-public r-paradox (package (name "r-paradox") - (version "0.7.0") + (version "0.7.1") (source (origin (method url-fetch) (uri (cran-uri "paradox" version)) (sha256 (base32 - "1fz6sdwvvifm4qbmwgm27dil278mswvcfw8bbsvli5v4l1ghw8kj")))) + "1difp0bzsfxcmbm1snahh3i6417k1a2w4mnjx65p20n2yiclmrgs")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports) From 9a9d470ae04acfd68c5d2f33ef633679c73cf6e3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:41:38 +0100 Subject: [PATCH 0215/1003] gnu: r-mlr3: Update to 0.11.0. * gnu/packages/cran.scm (r-mlr3): Update to 0.11.0. [propagated-inputs]: Add r-palmerpenguins and r-parallelly. --- gnu/packages/cran.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 349598f3d9..becc25c6ab 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -26760,13 +26760,13 @@ implemented as @code{R6} classes.") (define-public r-mlr3 (package (name "r-mlr3") - (version "0.10.0") + (version "0.11.0") (source (origin (method url-fetch) (uri (cran-uri "mlr3" version)) (sha256 (base32 - "1arqijbbmhv57mj8kyq30zxykah83ab1d1c7gs0cxs0xhfwln66g")))) + "0qh9vdac1als2123wf51bwa7spdqk33iydlawi5n5dpci892iahl")))) (build-system r-build-system) (propagated-inputs `(("r-r6" ,r-r6) @@ -26779,7 +26779,9 @@ implemented as @code{R6} classes.") ("r-mlbench" ,r-mlbench) ("r-mlr3measures" ,r-mlr3measures) ("r-mlr3misc" ,r-mlr3misc) + ("r-palmerpenguins" ,r-palmerpenguins) ("r-paradox" ,r-paradox) + ("r-parallelly" ,r-parallelly) ("r-uuid" ,r-uuid))) (home-page "https://mlr3.mlr-org.com/") (synopsis "Machine Learning in R - Next Generation") From bf7ad534e47013f56b0b3ad8c9956f4be07104d5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:41:42 +0100 Subject: [PATCH 0216/1003] gnu: r-mlr3tuning: Update to 0.7.0. * gnu/packages/cran.scm (r-mlr3tuning): Update to 0.7.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index becc25c6ab..fcd85edd41 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -26852,13 +26852,13 @@ annealing.") (define-public r-mlr3tuning (package (name "r-mlr3tuning") - (version "0.6.0") + (version "0.7.0") (source (origin (method url-fetch) (uri (cran-uri "mlr3tuning" version)) (sha256 (base32 - "0kxf9wl1jnwyrj2zfmiz12w2594407y44m0xxwp9b2lrwxk31wm7")))) + "0xpq16qij05nsfwg0qnfziqjvgk5wn0dgl0sb5gg3qsp1cs6vfqj")))) (build-system r-build-system) (propagated-inputs `(("r-bbotk" ,r-bbotk) From 6c714c19f8fae71f14eb28dd184f26203868ab4a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:41:45 +0100 Subject: [PATCH 0217/1003] gnu: r-textshaping: Update to 0.3.1. * gnu/packages/cran.scm (r-textshaping): Update to 0.3.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index fcd85edd41..2e642b21eb 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27151,14 +27151,14 @@ clusterings as resolution increases.") (define-public r-textshaping (package (name "r-textshaping") - (version "0.3.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "textshaping" version)) (sha256 (base32 - "053pbw45by96q62kjfnyc3d0ssar9svssrdqy6a09kdmdh75xdar")))) + "16y3amb9cxwq126q1mxssx7kswzalqf9n2437mi5n7q1nqby6wlq")))) (properties `((upstream-name . "textshaping"))) (build-system r-build-system) (inputs From 31c9810b7e778e86bc7712fe7eee60da34cfe4d5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:41:48 +0100 Subject: [PATCH 0218/1003] gnu: r-ragg: Update to 1.1.1. * gnu/packages/cran.scm (r-ragg): Update to 1.1.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 2e642b21eb..9ec0d952c0 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27184,14 +27184,14 @@ the font tool-set provided by the @code{systemfonts} package.") (define-public r-ragg (package (name "r-ragg") - (version "0.4.1") + (version "1.1.1") (source (origin (method url-fetch) (uri (cran-uri "ragg" version)) (sha256 (base32 - "0443dhfi7bjfpap041vrnslw3ql3vpsxx18raz2w9nfdb7id8lsc")))) + "0nh1xxrxgdbq9anzkc6k3n519czp9hqyiizakm3m2gl4l4w0vp0q")))) (properties `((upstream-name . "ragg"))) (build-system r-build-system) (inputs From 85b2d41eebd400be2c9a58d065355f3cd0a17773 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:41:51 +0100 Subject: [PATCH 0219/1003] gnu: r-boot: Update to 1.3-27. * gnu/packages/statistics.scm (r-boot): Update to 1.3-27. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index ac8b4e959e..b80e49c7bc 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -416,14 +416,14 @@ available, greatly increasing its breadth and scope.") (define-public r-boot (package (name "r-boot") - (version "1.3-26") + (version "1.3-27") (source (origin (method url-fetch) (uri (cran-uri "boot" version)) (sha256 (base32 - "161l3q3kdmi7s3xwl3xxg3x3zx8787hsvsr2mmawwxq2cad131fl")))) + "1v9anpxj4p83kd40gyfy8a454b2jmn11incrzym7wdvh8mdxpcil")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/boot") (synopsis "Bootstrap functions for R") From 71939b503b1c04195bac9b987f341fe4338964bb Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:41:54 +0100 Subject: [PATCH 0220/1003] gnu: r-mass: Update to 7.3-53.1. * gnu/packages/statistics.scm (r-mass): Update to 7.3-53.1. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index b80e49c7bc..e08aefd4c1 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -437,14 +437,14 @@ D.V. Hinkley (1997, CUP), originally written by Angelo Canty for S.") (define-public r-mass (package (name "r-mass") - (version "7.3-53") + (version "7.3-53.1") (source (origin (method url-fetch) (uri (cran-uri "MASS" version)) (sha256 (base32 - "0f2bwsbqr3nzsqxva051lg8wd068naqif3vc48hac0m3mmq4x0j1")))) + "0ra46441y4iwcpd8px7j7vcjfj09fawl5khilaivjbg3gswiwnz4")))) (properties `((upstream-name . "MASS"))) (build-system r-build-system) (home-page "http://www.stats.ox.ac.uk/pub/MASS4/") From ea2197cbe867bbb3cc9eca3693e0d8ba046d640f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:41:57 +0100 Subject: [PATCH 0221/1003] gnu: r-cluster: Update to 2.1.1. * gnu/packages/statistics.scm (r-cluster): Update to 2.1.1. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index e08aefd4c1..596d751322 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -480,14 +480,14 @@ k-nearest neighbour, Learning Vector Quantization and Self-Organizing Maps.") (define-public r-cluster (package (name "r-cluster") - (version "2.1.0") + (version "2.1.1") (source (origin (method url-fetch) (uri (cran-uri "cluster" version)) (sha256 (base32 - "055af3yz2biqbsbwm4arwr1yqnj4gicpzv2i6dbfl5pnz2z5byga")))) + "0qw06n1f7771mszc9y1f1c9zngd82zlf2s2z30p9514vxh4wgf5x")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) From ba522c9fa31195f2ae06bb9ccce7a68195c85410 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:00 +0100 Subject: [PATCH 0222/1003] gnu: r-mgcv: Update to 1.8-34. * gnu/packages/statistics.scm (r-mgcv): Update to 1.8-34. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 596d751322..f14a0e8f40 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -629,13 +629,13 @@ nonlinear mixed-effects models.") (define-public r-mgcv (package (name "r-mgcv") - (version "1.8-33") + (version "1.8-34") (source (origin (method url-fetch) (uri (cran-uri "mgcv" version)) (sha256 - (base32 "1x1bdzz2b2f05626xygwqp30b4rhblgg76hs15j9ab4fjan7pjwq")))) + (base32 "1pkky9xb3wsinqd75gkfbgw270vx8zh52id6bf1xj9njnzrkmc8m")))) (build-system r-build-system) (propagated-inputs `(("r-matrix" ,r-matrix) From 84bd32a964ee9524ff448ab9c082fb59ebb7ea67 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:06 +0100 Subject: [PATCH 0223/1003] gnu: r-svglite: Update to 2.0.0. * gnu/packages/statistics.scm (r-svglite): Update to 2.0.0. [inputs]: Add libpng and zlib. [propagated-inputs]: Remove r-bh, r-gdtools, and r-rcpp; add r-cpp11 and r-systemfonts. --- gnu/packages/statistics.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index f14a0e8f40..96a60e198d 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1202,19 +1202,21 @@ and to generate base64 encoded string from raster matrix.") (define-public r-svglite (package (name "r-svglite") - (version "1.2.3.2") + (version "2.0.0") (source (origin (method url-fetch) (uri (cran-uri "svglite" version)) (sha256 (base32 - "00n8bg4iligl0h24v42cka417w26zmcxrr4r6k8wdal1riwhgmi5")))) + "19ggknw5322yw7r1bzhw0bqggcrpn0qxddk7kblpqnra2zz2brkn")))) (build-system r-build-system) + (inputs + `(("libpng" ,libpng) + ("zlib" ,zlib))) (propagated-inputs - `(("r-bh" ,r-bh) - ("r-gdtools" ,r-gdtools) - ("r-rcpp" ,r-rcpp))) + `(("r-cpp11" ,r-cpp11) + ("r-systemfonts" ,r-systemfonts))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://github.com/hadley/svglite") From 440dd95f72eaf9405ef37fd73929e7ccb5f6368e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:09 +0100 Subject: [PATCH 0224/1003] gnu: r-mime: Update to 0.10. * gnu/packages/statistics.scm (r-mime): Update to 0.10. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 96a60e198d..5fb55f4a5c 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1368,13 +1368,13 @@ supported via Andre Simon's highlight package.") (define-public r-mime (package (name "r-mime") - (version "0.9") + (version "0.10") (source (origin (method url-fetch) (uri (cran-uri "mime" version)) (sha256 (base32 - "107sqarmyhxlch5nrg796i5z03p9mshskisiq2fm628ajk99gkrc")))) + "1xz37fizlx4w3g8kbim7vr5slqd6cmaq5sa0s4q7ayl1bahk6ckq")))) (build-system r-build-system) (home-page "https://github.com/yihui/mime") (synopsis "R package to map filenames to MIME types") From 4a27e42fd66db384e47c72d6f24197b297d3cf9d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:12 +0100 Subject: [PATCH 0225/1003] gnu: r-testthat: Update to 3.0.2. * gnu/packages/statistics.scm (r-testthat): Update to 3.0.2. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 5fb55f4a5c..d2a7a68fbf 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1585,13 +1585,13 @@ R packages that praise their users.") (define-public r-testthat (package (name "r-testthat") - (version "3.0.1") + (version "3.0.2") (source (origin (method url-fetch) (uri (cran-uri "testthat" version)) (sha256 (base32 - "1l1s4jgmgbsf711ma5i58ssgkz98an7hijcxvwfz314nf5fc8zr9")))) + "03sbk36vrjhzfap6a9czxw93r7h06rh3mb01inbrhrh5r2pd00qq")))) (build-system r-build-system) (propagated-inputs `(("r-brio" ,r-brio) From 9846034edc4acce55f22ad9fd49fb2deec4ae621 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:16 +0100 Subject: [PATCH 0226/1003] gnu: r-tibble: Update to 3.1.0. * gnu/packages/statistics.scm (r-tibble): Update to 3.1.0. [propagated-inputs]: Remove r-cli and r-crayon. --- gnu/packages/statistics.scm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index d2a7a68fbf..a35842f5d0 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1665,19 +1665,17 @@ like tidy evaluation.") (define-public r-tibble (package (name "r-tibble") - (version "3.0.6") + (version "3.1.0") (source (origin (method url-fetch) (uri (cran-uri "tibble" version)) (sha256 (base32 - "0f41gnq0wwmy1z96lg3gicvm54jh685f7i3ag8yfk39r3ql2vzpv")))) + "0khmypf49la8n5gx72n7gr6dl6r6ja404i578g6sg0ail3g2i7lm")))) (build-system r-build-system) (propagated-inputs - `(("r-cli" ,r-cli) - ("r-crayon" ,r-crayon) - ("r-ellipsis" ,r-ellipsis) + `(("r-ellipsis" ,r-ellipsis) ("r-fansi" ,r-fansi) ("r-lifecycle" ,r-lifecycle) ("r-magrittr" ,r-magrittr) From 47b8a239dc936bd8e51c246dc4532dc96b91a71a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:19 +0100 Subject: [PATCH 0227/1003] gnu: r-dplyr: Update to 1.0.5. * gnu/packages/statistics.scm (r-dplyr): Update to 1.0.5. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index a35842f5d0..5eb37f6ad0 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1695,13 +1695,13 @@ and printing capabilities than traditional data frames.") (define-public r-dplyr (package (name "r-dplyr") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) (uri (cran-uri "dplyr" version)) (sha256 (base32 - "0fh9ivw4jgdhcdz2mcs0b869jb479cjzr2c0s2x3552is5qqzxlv")))) + "0w3fr6sn0mw5mjs27669czpc8vpjj6ayrjavw8v0gd7ccsfa0hbm")))) (build-system r-build-system) (propagated-inputs `(("r-ellipsis" ,r-ellipsis) From 2dcc88a1532b64df27e1cef9d86f79614803ceb2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:22 +0100 Subject: [PATCH 0228/1003] gnu: r-data-table: Update to 1.14.0. * gnu/packages/statistics.scm (r-data-table): Update to 1.14.0. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 5eb37f6ad0..5306e42bba 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1852,13 +1852,13 @@ times.") (define-public r-data-table (package (name "r-data-table") - (version "1.13.6") + (version "1.14.0") (source (origin (method url-fetch) (uri (cran-uri "data.table" version)) (sha256 (base32 - "16ryrpzl86krww5nx7a97i09y5xqld4lw4d9pa1vzjl99x6ds36m")))) + "0kgbvap5v2spnkz3dwfm4jh4qcpvbzdn9s8bzfnhzabz9qjdxw8k")))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) From 658e44abdbd794215e7ddd7789afde2668875af4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:26 +0100 Subject: [PATCH 0229/1003] gnu: r-desc: Update to 1.3.0. * gnu/packages/statistics.scm (r-desc): Update to 1.3.0. [propagated-inputs]: Remove r-assertthat. --- gnu/packages/statistics.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 5306e42bba..ed2a4d97ce 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2267,18 +2267,17 @@ module, Java Server Pages, and Python's psp module.") (define-public r-desc (package (name "r-desc") - (version "1.2.0") + (version "1.3.0") (source (origin (method url-fetch) (uri (cran-uri "desc" version)) (sha256 (base32 - "1s6s13fk6sxwcj8wzkwxl9vr33153xx11p5wi9avqx3rzkabavz6")))) + "1sw4vya3l971gpccq4gnjywgbl73bgx8la18l0wy617qv94f905y")))) (build-system r-build-system) (propagated-inputs - `(("r-assertthat" ,r-assertthat) - ("r-crayon" ,r-crayon) + `(("r-crayon" ,r-crayon) ("r-r6" ,r-r6) ("r-rprojroot" ,r-rprojroot))) (home-page "https://github.com/r-pkgs/desc") From 395ab04137e6911dc87712d1c028b5f6d2b47d8d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:29 +0100 Subject: [PATCH 0230/1003] gnu: r-rmarkdown: Update to 2.7. * gnu/packages/statistics.scm (r-rmarkdown): Update to 2.7. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index ed2a4d97ce..737ece625e 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2725,13 +2725,13 @@ certain criterion, e.g., it contains a certain regular file.") (define-public r-rmarkdown (package (name "r-rmarkdown") - (version "2.6") + (version "2.7") (source (origin (method url-fetch) (uri (cran-uri "rmarkdown" version)) (sha256 - (base32 "1c7nrpnv2v43msv7nia90rjh6s5x9m5wlb3mpiwy04fyfb29krz6")))) + (base32 "0shj637qhpcf30il3lhl3k5bxi5l3x3gf612hbqlakp1qrgrf8lm")))) (properties `((upstream-name . "rmarkdown"))) (build-system r-build-system) (propagated-inputs From 84e98bbc4ff4c64fa68b7dc1f8bf00fb39ddbacb Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:33 +0100 Subject: [PATCH 0231/1003] gnu: r-segmented: Update to 1.3-3. * gnu/packages/statistics.scm (r-segmented): Update to 1.3-3. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 737ece625e..934c901edf 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3037,14 +3037,14 @@ statements.") (define-public r-segmented (package (name "r-segmented") - (version "1.3-2") + (version "1.3-3") (source (origin (method url-fetch) (uri (cran-uri "segmented" version)) (sha256 (base32 - "00fc5lcq5qqmw2c2cimrxw8jmd0jysx2p238c2ycykkb13jdwm5n")))) + "16036lp0dq7qqzy8wc4qsgv58zksz6hmgw51v88gl6xclryc670y")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/segmented") (synopsis "Regression models with breakpoints estimation") From 7901124b5b2ed146cf40ed1835c19e9e41ec1670 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:36 +0100 Subject: [PATCH 0232/1003] gnu: r-sparsem: Update to 1.81. * gnu/packages/statistics.scm (r-sparsem): Update to 1.81. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 934c901edf..30d648f501 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3078,13 +3078,13 @@ worker processes and collect and return the results on the master.") (define-public r-sparsem (package (name "r-sparsem") - (version "1.78") + (version "1.81") (source (origin (method url-fetch) (uri (cran-uri "SparseM" version)) (sha256 (base32 - "0cmlm0lps3daalvp5jzjnjfys388hgkyc8yw0g5r2351h749xdyn")))) + "0csbqd9wm6r4162mday1iaigzf9wv2rp1zq8hnihys6f38w8z0xx")))) (properties `((upstream-name . "SparseM"))) (native-inputs From 4f9f7e7eb2ab48d25158d3afb2bd26cd02a1704f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:39 +0100 Subject: [PATCH 0233/1003] gnu: r-glmnet: Update to 4.1-1. * gnu/packages/statistics.scm (r-glmnet): Update to 4.1-1. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 30d648f501..6aff73b45c 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3276,13 +3276,13 @@ analysis of large sparse or dense matrices.") (define-public r-glmnet (package (name "r-glmnet") - (version "4.1") + (version "4.1-1") (source (origin (method url-fetch) (uri (cran-uri "glmnet" version)) (sha256 - (base32 "1js01qnznm20h4pslaw1ragxhrzk0w4nw7r6ryg7i27l344za2lg")))) + (base32 "0zpfq0m1y5zks5p9r28553ykywwrhrb3ds8m6b7sm6hj4n1c4csd")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran) From eddff93fd307bfc91e404abbaf943ebc8f842ff2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:42 +0100 Subject: [PATCH 0234/1003] gnu: r-tidyr: Update to 1.1.3. * gnu/packages/statistics.scm (r-tidyr): Update to 1.1.3. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 6aff73b45c..39843ed631 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3745,14 +3745,14 @@ selection.") (define-public r-tidyr (package (name "r-tidyr") - (version "1.1.2") + (version "1.1.3") (source (origin (method url-fetch) (uri (cran-uri "tidyr" version)) (sha256 (base32 - "0v7x1pgmwmjypzdr4j2ig2klgrrgryi3qvw8hwqv65a5h9kwpz08")))) + "0cpbrvr759z8p7r9lpkjhj2dcdymsbnaib0rma9b4jb7i3qzmh2a")))) (build-system r-build-system) (propagated-inputs `(("r-cpp11" ,r-cpp11) From 83f98e6317501fd56d9276a9dd8ec5420aaaee8e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:45 +0100 Subject: [PATCH 0235/1003] gnu: r-hmisc: Update to 4.5-0. * gnu/packages/statistics.scm (r-hmisc): Update to 4.5-0. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 39843ed631..7aa5df25bf 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4033,13 +4033,13 @@ package instead.") (define-public r-hmisc (package (name "r-hmisc") - (version "4.4-2") + (version "4.5-0") (source (origin (method url-fetch) (uri (cran-uri "Hmisc" version)) (sha256 - (base32 "1j7vkckmahdh90ndcl646sjpxq82y4x55ngxqvkni22mv16wc2j9")))) + (base32 "11qj73zj16p113jpwn2vv06l99kqlcxcmrldbpyi5s7pwing9jnx")))) (properties `((upstream-name . "Hmisc"))) (build-system r-build-system) (native-inputs From 12580eb435b4a43be76ad3b900657ec67a70fee7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:48 +0100 Subject: [PATCH 0236/1003] gnu: r-beeswarm: Update to 0.3.1. * gnu/packages/statistics.scm (r-beeswarm): Update to 0.3.1. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 7aa5df25bf..5c592f29e9 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -4352,13 +4352,13 @@ within a category based on their density using quasirandom noise.") (define-public r-beeswarm (package (name "r-beeswarm") - (version "0.2.3") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "beeswarm" version)) (sha256 (base32 - "0hy89bwv7jixlg91li1fywa77916am2whqp1m1fx1khd45g44581")))) + "1jsggypyww77hkcic03kdb3fp8h938qs142xi0lapzh62bkn2pjj")))) (build-system r-build-system) (home-page "https://www.cbs.dtu.dk/~eklund/beeswarm/") (synopsis "Implementation of bee swarm plots") From 27b17f5e6ccd173f156b40299f7cdfb332979512 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:51 +0100 Subject: [PATCH 0237/1003] gnu: r-matrixmodels: Update to 0.5-0. * gnu/packages/statistics.scm (r-matrixmodels): Update to 0.5-0. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 5c592f29e9..da5fb96a88 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5087,14 +5087,14 @@ metrics for evaluating models.") (define-public r-matrixmodels (package (name "r-matrixmodels") - (version "0.4-1") + (version "0.5-0") (source (origin (method url-fetch) (uri (cran-uri "MatrixModels" version)) (sha256 (base32 - "0cyfvhci2p1vr2x52ymkyqqs63x1qchn856dh2j94yb93r08x1zy")))) + "1va6i6bpkq71rzl9i4xgyc5x7qcksa3nfzihlaggf6aj30dayzx8")))) (properties `((upstream-name . "MatrixModels"))) (build-system r-build-system) (propagated-inputs From 15add0c264491e4c6a46b1bc07e946f14533e14f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:54 +0100 Subject: [PATCH 0238/1003] gnu: r-quantreg: Update to 5.85. * gnu/packages/statistics.scm (r-quantreg): Update to 5.85. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index da5fb96a88..cf9a6f3864 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5109,13 +5109,13 @@ using modular prediction and response module classes.") (define-public r-quantreg (package (name "r-quantreg") - (version "5.83") + (version "5.85") (source (origin (method url-fetch) (uri (cran-uri "quantreg" version)) (sha256 - (base32 "05vbnz88qxk141dfxwl6ql2zshw15h0hddf8ajnsk2dxfdb6vdkp")))) + (base32 "1y8sgl16yby1k7g23y6bdnfllwnxj3iik3fqp96iwm5jd8blb7q4")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) From 382f539b5e4ff49011c748ade94e6c9c81c15309 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:42:57 +0100 Subject: [PATCH 0239/1003] gnu: r-pbkrtest: Update to 0.5.1. * gnu/packages/statistics.scm (r-pbkrtest): Update to 0.5.1. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index cf9a6f3864..c98299a780 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5199,14 +5199,14 @@ C++ library for numerical linear algebra and RcppEigen glue.") (define-public r-pbkrtest (package (name "r-pbkrtest") - (version "0.5-0.1") + (version "0.5.1") (source (origin (method url-fetch) (uri (cran-uri "pbkrtest" version)) (sha256 (base32 - "0sgl8r74cknmp8lnq5jvc1w181274ylgk6w4pxf4mzkfii42argm")))) + "1if7msv9i7jhg1as1f7m81a95dnwhwj3yfs24bqr0f6r0ch4b8xj")))) (build-system r-build-system) (propagated-inputs `(("r-broom" ,r-broom) From 6a38d580c7546ef826ccc9d8ab34d921ac001943 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Mar 2021 21:43:01 +0100 Subject: [PATCH 0240/1003] gnu: r-lubridate: Update to 1.7.10. * gnu/packages/statistics.scm (r-lubridate): Update to 1.7.10. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index c98299a780..6ef89185f1 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5506,14 +5506,14 @@ is supported.") (define-public r-lubridate (package (name "r-lubridate") - (version "1.7.9.2") + (version "1.7.10") (source (origin (method url-fetch) (uri (cran-uri "lubridate" version)) (sha256 (base32 - "0yfvlgksasmia7rsp83lsipjpgvlly5qkldcfxj68lfaz9l2sspf")))) + "1s653d6rnpf9bkynxmbq4fdjdcz7r9ma19aph8f5y9ck70his4hm")))) (build-system r-build-system) (propagated-inputs `(("r-generics" ,r-generics) From 82e887ba48c2ba91b17aa9b6b17501e3e0ef4aef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Tue, 9 Mar 2021 23:02:51 +0100 Subject: [PATCH 0241/1003] gnu: imagemagick: Update to 6.9.12-2 [security fixes]. * gnu/packages/imagemagick.scm (imagemagick/fixed): New variable. (imagemagick)[replacement]: Graft. --- gnu/packages/imagemagick.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 02a627f17e..d7abf6ea03 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -58,6 +58,7 @@ (sha256 (base32 "0m8nkmywkqwyrr01q7aiakj6mi4rb2psjgzv8n0x82x3s1rpfyql")))) + (replacement imagemagick/fixed) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch" @@ -126,6 +127,18 @@ transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.") (license (license:fsf-free "http://www.imagemagick.org/script/license.php")))) +(define-public imagemagick/fixed + (package + (inherit imagemagick) + (version "6.9.12-2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://imagemagick/ImageMagick-" + version ".tar.xz")) + (sha256 + (base32 + "17da5zihz58qm41y61sbvw626m5xfwr2nzszlikrvxyq1j1q7asa")))))) + (define-public perl-image-magick (package (name "perl-image-magick") From afd83de0879f43f82e9f0765b710cc12808a7e1e Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 14 Jan 2021 23:32:27 -0500 Subject: [PATCH 0242/1003] gnu: Add appstream. * gnu/packages/freedesktop.scm (appstream): New variable. Signed-off-by: Leo Prikler --- gnu/packages/freedesktop.scm | 98 ++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index e00454f7b3..e5f9ea71b6 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -58,8 +58,10 @@ #:use-module (gnu packages bash) #:use-module (gnu packages boost) #:use-module (gnu packages check) + #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages cryptsetup) + #:use-module (gnu packages databases) #:use-module (gnu packages disk) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) @@ -75,6 +77,7 @@ #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages image) + #:use-module (gnu packages language) #:use-module (gnu packages libffi) #:use-module (gnu packages libunwind) #:use-module (gnu packages libusb) @@ -101,6 +104,101 @@ #:use-module (gnu packages xorg) #:use-module (srfi srfi-1)) +(define-public appstream + (package + (name "appstream") + (version "0.13.1") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.freedesktop.org/software/" + "appstream/releases/" + "AppStream-" version ".tar.xz")) + (sha256 + (base32 "09l6ixz1w29pi0nb0flz14m4r3f2hpqpp1fq8y66v9xa4c9fczds")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-libstemmer + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "meson.build" + (("/usr/include") + (string-append (assoc-ref inputs "libstemmer") + "/include"))) + #t)) + (add-after 'patch-libstemmer 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "docs/api" + (substitute* "appstream-docs.xml" + (("http://www.oasis-open.org/docbook/xml/4.3/") + (string-append (assoc-ref inputs "docbook-xml-4.3") + "/xml/dtd/docbook/")))) + (for-each (lambda (file) + (substitute* file + (("http://www.oasis-open.org/docbook/xml/4.5/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) + (find-files "scripts/desc" "\\.xml$")) + #t)) + (add-after 'patch-docbook-xml 'disable-failing-tests + (lambda _ + (substitute* "tests/test-pool.c" + (("[ \t]*g_test_add_func \\(\"/AppStream/PoolRead?.*;") + "") + (("[ \t]*g_test_add_func \\(\"/AppStream/PoolReadAsync?.*;") + "") + (("[ \t]*g_test_add_func \\(\"/AppStream/PoolEmpty?.*;") + "") + (("[ \t]*g_test_add_func \\(\"/AppStream/Cache?.*;") + "") + (("[ \t]*g_test_add_func \\(\"/AppStream/Merges?.*;") + "")) + #t)) + (add-after 'disable-failing-tests 'patch-install-dir + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "data/meson.build" + (("/etc") + (string-append (assoc-ref outputs "out") + "/etc"))) + #t))))) + (native-inputs + `(("cmake" ,cmake) + ("docbook-xml-4.3" ,docbook-xml-4.3) + ("docbook-xml" ,docbook-xml) + ("docbook-xsl" ,docbook-xsl) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gperf" ,gperf) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("xsltproc" ,libxslt))) + (inputs + `(("libsoup" ,libsoup) + ("libstemmer" ,libstemmer) + ("libxml2" ,libxml2) + ("libyaml" ,libyaml) + ("lmdb" ,lmdb))) + (propagated-inputs + `(("glib" ,glib))) + (synopsis "Tools and libraries to work with AppStream metadata") + (description "AppStream is a cross-distribution effort for enhancing the way +we interact with the software repositories provided by distributions by +standardizing software component metadata. It provides the foundation to build +software-center applications, by providing metadata necessary for an +application-centric view on package repositories. It additionally provides +specifications for things like an unified software metadata database, screenshot +services and various other things needed to create user-friendly +application-centers for distributions.") + (home-page "https://www.freedesktop.org/wiki/Distributions/AppStream/") + ;; XXX: meson.build claims both, headers just indicate lgpl2.1+ + ;; there are also some (irrelevant) wtfpl2 examples + (license (list license:gpl2+ license:lgpl2.1+)))) + (define-public farstream (package (name "farstream") From 92a432c1f83f1929ae41fb53c1cf9910836e6b3a Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Tue, 9 Mar 2021 02:14:56 -0500 Subject: [PATCH 0243/1003] gnu: Add qtsolutions. * gnu/packages/qt.scm (qtsolutions): New variable. Signed-off-by: Leo Prikler --- gnu/packages/qt.scm | 111 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 11e69ff5db..d921aa87fe 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2473,6 +2473,117 @@ This package provides the Python bindings."))) securely. It will not store any data unencrypted unless explicitly requested.") (license license:bsd-3))) +(define-public qtsolutions + (let ((commit "9568abd142d581b67b86a5f63d823a34b0612702") + (revision "53")) + (package + (name "qtsolutions") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/qtproject/qt-solutions") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17fnmassflm3vxi0krpr6fff368jy38cby31a48rban4nqqmgx7n")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-1))) + (snippet + ;; Unvendor QtLockFile from QtSingleApplication. + '(begin + (with-directory-excursion "qtsingleapplication/src" + (for-each delete-file + (find-files "." "qtlockedfile.*\\.(h|cpp)")) + (substitute* "qtsingleapplication.pri" + ;; Add include path of LockedFile. + (("INCLUDEPATH \\+=") + "INCLUDEPATH += ../../qtlockedfile/src") + ;; Link library of LockedFile. + (("LIBS \\+=") + "LIBS += -lQtSolutions_LockedFile")) + (substitute* '("qtlocalpeer.h" "qtlocalpeer.cpp") + (("#include \"qtlockedfile.*\\.cpp\"") "") + ;; Unwrap namespace added in the vendoring process. + (("QtLP_Private::QtLockedFile") + "QtLockedFile"))) + #t)))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; No target + #:imported-modules + ((guix build copy-build-system) + ,@%gnu-build-system-modules) + #:modules + (((guix build copy-build-system) #:prefix copy:) + (guix build gnu-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda* (#:key outputs #:allow-other-keys) + (substitute* (find-files "." "common.pri") + ;; Remove unnecessary prefixes/suffixes in library names. + (("qt5") "qt") + (("-head") "")) + ;; Disable building of examples. + (substitute* (find-files "." "\\.pro$") + (("SUBDIRS\\+=examples") "")) + ;; Fix deprecated functions. + (substitute* "qtsoap/src/qtsoap.cpp" + (("toAscii") "toUtf8")) + #t)) + (replace 'configure + (lambda _ + (for-each (lambda (solution) + (with-directory-excursion solution + (invoke "./configure" "-library") + (invoke "qmake"))) + '("qtlockedfile" "qtpropertybrowser" "qtservice" + "qtsingleapplication" "qtsoap")) + #t)) + (replace 'build + (lambda _ + (for-each (lambda (solution) + (with-directory-excursion solution + (invoke "make"))) + '("qtlockedfile" "qtpropertybrowser" "qtservice" + "qtsingleapplication" "qtsoap")) + #t)) + (replace 'install + (lambda args + (for-each (lambda (solution) + (with-directory-excursion solution + (apply + (assoc-ref copy:%standard-phases 'install) + #:install-plan + '(("src" "include" #:include-regexp ("\\.h$")) + ("lib" "lib")) + args))) + '("qtlockedfile" "qtpropertybrowser" "qtservice" + "qtsingleapplication" "qtsoap"))))))) + (inputs + `(("qtbase" ,qtbase))) + (synopsis "Collection of Qt extensions") + (description "QtSolutions is a set of components extending Qt. +@itemize +@item QtLockedFile: A class that extends QFile with advisory locking functions. +@item QtPropertyBrowser: A framework that enables the user to edit a set of +properties. +@item QtService: A helper for writing services such as Unix daemons. +@item QtSingleApplication: A component that provides support for applications +that can be only started once per user. +@item QtSoap: A component that provides basic web service support with version +1.1 of the SOAP protocol. +@end itemize\n") + (home-page "https://doc.qt.io/archives/qq/qq09-qt-solutions.html") + (license (list license:bsd-3 + ;; QScriptParser and QScriptGrammar specifically allow + ;; redistribution under GPL3 or LGPL2.1 + license:gpl3 license:lgpl2.1))))) + (define-public qwt (package (name "qwt") From 82a2f182c59cd9adef4991e0adfb575fec95e52d Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Tue, 9 Mar 2021 02:19:00 -0500 Subject: [PATCH 0244/1003] gnu: Add nextcloud-client. * gnu/packages/messaging.scm (nextcloud-client): New variable. Signed-off-by: Leo Prikler --- gnu/packages/sync.scm | 154 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index d7c9009f3b..2b64117dc6 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -30,6 +30,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix build-system meson) + #:use-module (guix build-system qt) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) @@ -42,8 +43,11 @@ #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages documentation) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) #:use-module (gnu packages golang) + #:use-module (gnu packages graphviz) #:use-module (gnu packages image) #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages linux) @@ -52,15 +56,165 @@ #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages readline) #:use-module (gnu packages rsync) + #:use-module (gnu packages ruby) #:use-module (gnu packages selinux) #:use-module (gnu packages shells) #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls)) +(define-public nextcloud-client + (package + (name "nextcloud-client") + (version "3.1.3") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/nextcloud/desktop") + (commit (string-append "v" version)))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "15ymk3gvfmgwzmqbhlw7jjy9y65ib3391h1dlmpll65iaj2miajk")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-1))) + (snippet + '(begin + ;; Not available in Guix. + (let* ((keep '("QProgressIndicator" "qtokenizer"))) + (with-directory-excursion "src/3rdparty" + (for-each delete-file-recursively + (lset-difference string=? + (scandir ".") + (cons* "." ".." keep))))) + (with-directory-excursion "src/gui" + (substitute* "CMakeLists.txt" + ;; Remove references of deleted 3rdparties. + (("[ \t]*\\.\\./3rdparty/qtlockedfile/?.*\\.cpp") + "") + (("[ \t]*\\.\\./3rdparty/qtsingleapplication/?.*\\.cpp") + "") + (("[ \t]*\\.\\./3rdparty/kmessagewidget/?.*\\.cpp") + "") + (("[ \t]*list\\(APPEND 3rdparty_SRC \\.\\./3rdparty/?.*\\)") + "") + (("\\$\\{CMAKE_SOURCE_DIR\\}/src/3rdparty/qtlockedfile") + "") + (("\\$\\{CMAKE_SOURCE_DIR\\}/src/3rdparty/qtsingleapplication") + "") + (("\\$\\{CMAKE_SOURCE_DIR\\}/src/3rdparty/kmessagewidget") + ;; For this, we rely on build inputs, so let's just replace + ;; them by an autoconf-style variable. + "@kwidgetsaddons@") + ;; Expand libraries, that used to be statically linked, but + ;; no longer are post-vendoring. + (("\\$\\{synclib_NAME\\}") + (string-append "${synclib_NAME} " + "QtSolutions_LockedFile " + "QtSolutions_SingleApplication " + "KF5WidgetsAddons"))) + ;; Fix compatibility with QtSingleApplication from QtSolutions. + (substitute* '("application.h" "application.cpp") + (("SharedTools::QtSingleApplication") + "QtSingleApplication") + (("slotParseMessage\\(const QString &(msg)?.*\\)") + "slotParseMessage(const QString &msg)"))) + #t)))) + (build-system qt-build-system) + (arguments + `(#:configure-flags + (list + "-DUNIT_TESTING=ON" + ;; Upstream Bug: https://github.com/nextcloud/desktop/issues/2885 + "-DNO_SHIBBOLETH=ON") + #:imported-modules + ((guix build glib-or-gtk-build-system) + ,@%qt-build-system-modules) + #:modules + (((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + (guix build qt-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-cmake + (lambda* (#:key inputs #:allow-other-keys) + ;; Patch install directory for dbus service files. + (substitute* "shell_integration/libcloudproviders/CMakeLists.txt" + (("PKGCONFIG_GETVAR\\(.+ _install_dir\\)") + (string-append "set(_install_dir \"${CMAKE_INSTALL_PREFIX}" + "/share/dbus-1/services\")"))) + (substitute* "shell_integration/dolphin/CMakeLists.txt" + ;; Make sure, that Qt modules are installed under $prefix. + (("ON CACHE") "OFF CACHE")) + (substitute* "src/gui/CMakeLists.txt" + (("@kwidgetsaddons@") + (string-append (assoc-ref inputs "kwidgetsaddons") + "/include/KF5/KWidgetsAddons/"))) + #t)) + (add-before 'check 'pre-check + (lambda _ + ;; Tests write to $HOME. + (setenv "HOME" (getcwd)) + #t)) + (add-after 'install 'glib-or-gtk-compile-schemas + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas)) + (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) + (native-inputs + `(("cmocka" ,cmocka) + ("dot" ,graphviz) + ("doxygen" ,doxygen) + ("extra-cmake-modules" ,extra-cmake-modules) + ("glib:bin" ,glib "bin") + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("qttools" ,qttools) + ("ruby" ,ruby))) + (inputs + `(("appstream" ,appstream) + ("desktop-file-utils" ,desktop-file-utils) + ("glib" ,glib) + ("kconfig" ,kconfig) + ("kcoreaddons" ,kcoreaddons) + ("kio" ,kio) + ("kjs" ,kjs) + ("kwidgetsaddons" ,kwidgetsaddons) + ("libcloudproviders" ,libcloudproviders) + ("libzip" ,libzip) + ("openssl" ,openssl) + ("python-nautilus" ,python-nautilus) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtgraphicaleffects" ,qtgraphicaleffects) + ("qtkeychain" ,qtkeychain) + ("qtquickcontrols2" ,qtquickcontrols2) + ("qtsolutions" ,qtsolutions) + ("qtsvg" ,qtsvg) + ("qtwebchannel" ,qtwebchannel) + ("qtwebsockets" ,qtwebsockets) + ("qtwebkit" ,qtwebkit) + ("sqlite" ,sqlite) + ("xdg-utils" ,xdg-utils) + ("zlib" ,zlib))) + (propagated-inputs + `(("qtwebengine" ,qtwebengine))) + (synopsis "Desktop sync client for Nextcloud") + (description "Nextcloud-Desktop is a tool to synchronize files from +Nextcloud Server with your computer.") + (home-page "https://nextcloud.com") + (license (list license:expat ; QProgressIndicator + license:lgpl2.1+ ; qtokenizer + license:gpl2+)))) + (define-public megacmd (package (name "megacmd") From 6320700b114f09c09fbe613e2032abe077d28583 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 00:45:48 +0100 Subject: [PATCH 0245/1003] gnu: libtiff: Update to 4.2.0 [security fixes]. Non-exhaustively, fixes CVE-2020-35523, CVE-2020-35522 and CVE-2020-35521. * gnu/packages/image.scm (libtiff/fixed): New variable. (libtiff)[replacement]: Graft. --- gnu/packages/image.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index a68ff66448..94d5e4d358 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -590,6 +590,7 @@ extracting icontainer icon files.") (sha256 (base32 "0d46bdvxdiv59lxnb0xz9ywm8arsr6xsapi5s6y6vnys2wjz6aax")))) + (replacement libtiff/fixed) (build-system gnu-build-system) (outputs '("out" "doc")) ;1.3 MiB of HTML documentation @@ -612,6 +613,19 @@ collection of tools for doing simple manipulations of TIFF images.") "See COPYRIGHT in the distribution.")) (home-page "http://www.simplesystems.org/libtiff/"))) +(define-public libtiff/fixed + (package + (inherit libtiff) + (version "4.2.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.osgeo.org/libtiff/tiff-" + version ".tar.gz")) + (sha256 + (base32 + "1jrkjv0xya9radddn8idxvs2gqzp3l2b1s8knlizmn7ad3jq817b")))))) + (define-public leptonica (package (name "leptonica") From cbb5b5c4d5d7e027c85c0ed221f0291b83c567b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 01:01:46 +0100 Subject: [PATCH 0246/1003] gnu: git: Update to 2.30.2 [fixes CVE-2021-21300]. * gnu/packages/version-control.scm (git): Update to 2.30.2. --- gnu/packages/version-control.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 8292a5df15..d85b5352fa 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -170,14 +170,14 @@ as well as the classic centralized workflow.") (define-public git (package (name "git") - (version "2.30.1") + (version "2.30.2") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "0rwlbps9x8kgk2hsm0bvsrkpsk9bnbnz8alknbd7i688jnhai27r")))) + "1ajz6lng6yldqm66lhrjfgbbxk09rq8cngv7hz9nqizrf46dkxs1")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -194,7 +194,7 @@ as well as the classic centralized workflow.") version ".tar.xz")) (sha256 (base32 - "015rqnz3ly1h6z6k9hfikgh401s3mzkmys8srai1kfv4v75pxz1h")))) + "1aiabqbc6mg23r19g2cwd4iajf55cpkxqylwn14hgpg64piaqr2y")))) ;; For subtree documentation. ("asciidoc" ,asciidoc-py3) ("docbook-xsl" ,docbook-xsl) From 5f299b4a31550155508ce4e10d66cdfbb1a65bdd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Mar 2021 20:52:29 +0100 Subject: [PATCH 0247/1003] gnu: lmdb: Update to 0.9.28. * gnu/packages/databases.scm (lmdb): Update to 0.9.28. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 261d2391b1..8ec2dc448a 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -2493,7 +2493,7 @@ database.") (define-public lmdb (package (name "lmdb") - (version "0.9.27") + (version "0.9.28") (source (origin (method git-fetch) @@ -2502,7 +2502,7 @@ database.") (commit (string-append "LMDB_" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "09xqqm8yjsf1gv4gd4llal48sms76hfhxadx6rik1j2g5v3d3f1k")))) + (base32 "012a8bs49cswsnzw7k4piis5b6dn4by85w7a7mai9i04xcjyy9as")))) (build-system gnu-build-system) (arguments `(#:test-target "test" From 42364648baf071e08d5995eaaa063b1dfe4f80a8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Mar 2021 20:52:52 +0100 Subject: [PATCH 0248/1003] gnu: fcitx5: Update to 5.0.5. * gnu/packages/fcitx5.scm (fcitx5): Update to 5.0.5. --- gnu/packages/fcitx5.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm index 4c79f4d856..17632ed9a6 100644 --- a/gnu/packages/fcitx5.scm +++ b/gnu/packages/fcitx5.scm @@ -87,7 +87,7 @@ client.") (define-public fcitx5 (package (name "fcitx5") - (version "5.0.4") + (version "5.0.5") (source (origin (method url-fetch) @@ -95,7 +95,7 @@ client.") "https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-" version "_dict.tar.xz")) (sha256 - (base32 "14pqbjbdc3b5xlycm92gs1rgkmpykfnyls3gfr608902lk2lw5as")))) + (base32 "16j716xawbszkb3fxzpdza1a4czh0fvkysikjc9bfyvbwp72p6an")))) (build-system cmake-build-system) (arguments `(#:configure-flags From 1dfc08f7ad86e105867eb7a5b2425e34bf2f24ef Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Mar 2021 21:59:53 +0100 Subject: [PATCH 0249/1003] doc: Fix grammar. * doc/contributing.texi (Package Naming): Fix grammar. --- doc/contributing.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/contributing.texi b/doc/contributing.texi index 3baedb0654..c9dd7d6c04 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -432,7 +432,7 @@ upstream source. @subsection Package Naming @cindex package name -A package has actually two names associated with it: +A package actually has two names associated with it. First, there is the name of the @emph{Scheme variable}, the one following @code{define-public}. By this name, the package can be made known in the Scheme code, for instance as input to another package. Second, there is From d5542627fa890bebc03f5c899075595952d0e2df Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Mar 2021 23:24:18 +0100 Subject: [PATCH 0250/1003] gnu: range-v3: Fix typo in description. * gnu/packages/cpp.scm (range-v3)[description]: Fix typo. --- gnu/packages/cpp.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index eeb45950af..ce9c9502ef 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -91,7 +91,7 @@ (description "Range-v3 is an extension of the Standard Template Library that makes its iterators and algorithms more powerful by making them composable. Unlike other range-like solutions which, seek to do away with iterators, in -range-v3 ranges are an abstration layer on top of iterators.") +range-v3 ranges are an abstraction layer on top of iterators.") (home-page "https://github.com/ericniebler/range-v3/") (license (list From 4aef8e0af5f15b76c57efa07751f93f0a4313577 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 9 Mar 2021 23:30:29 +0100 Subject: [PATCH 0251/1003] gnu: electron-cash: Update to 4.2.4. * gnu/packages/finance.scm (electron-cash): Update to 4.2.4. --- gnu/packages/finance.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 7686f60675..e6df40c168 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -559,7 +559,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (define-public electron-cash (package (name "electron-cash") - (version "4.2.3") + (version "4.2.4") (source (origin (method git-fetch) @@ -568,7 +568,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1q18p86a3a3wpf9nbpymhyilmaw9vffvwxh4hhx29bywfzvav11f")))) + (base32 "1a4jqsfadv6xr7ydj79my71jyrp0sjlznsbxdxjsjgnsqk8r48w6")))) (build-system python-build-system) (inputs `(("libevent" ,libevent) From 5d0f394b85be0b450c11cd7efa2376d1c0e9e67b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 10 Mar 2021 00:49:53 +0100 Subject: [PATCH 0252/1003] gnu: dcmtk: Update to 3.6.6. * gnu/packages/image-processing.scm (dcmtk): Update to 3.6.6. [inputs]: Add icu4c. --- gnu/packages/image-processing.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 6f4576b8b9..26f6faea8c 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -59,6 +59,7 @@ #:use-module (gnu packages graphviz) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) + #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages maths) @@ -85,7 +86,7 @@ (define-public dcmtk (package (name "dcmtk") - (version "3.6.5") + (version "3.6.6") (source (origin (method url-fetch) @@ -94,11 +95,10 @@ "dcmtk" (string-join (string-split version #\.) "") "/dcmtk-" version ".tar.gz")) (sha256 - (base32 "1fdyz5wwjp4grys61mxb2ia9fi6i3ax6s43l16xnv291bxk7hld0")))) + (base32 "13j5yf3p6qj3mr17d77r3kcqchf055hgvk1w15vmdr8f54mwcnb8")))) (build-system cmake-build-system) (inputs - `(;; Our ICU is too recent: “error: ‘UChar’ does not name a type“. - ;; ("icu4c" ,icu4c) + `(("icu4c" ,icu4c) ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) From 81404a858cc1e51c73ed1af7a842e471cac9b8a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lerique?= Date: Sun, 7 Mar 2021 22:15:26 +0900 Subject: [PATCH 0253/1003] gnu: password-store: Update to 1.7.3-1.918992c. * gnu/packages/password-utils.scm (password-store): Update to 1.7.3-1.918992c. [arguments]<#:phases>['wrap-path]: Add "wl-clipboard". [inputs]: Add "wl-clipboard". Signed-off-by: Tobias Geerinckx-Rice --- gnu/packages/password-utils.scm | 171 +++++++++++++++++--------------- 1 file changed, 89 insertions(+), 82 deletions(-) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 92c483f14b..0d86a3d69e 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -516,93 +516,100 @@ any X11 window.") (license license:gpl3+))) (define-public password-store - (package - (name "password-store") - (version "1.7.3") - (source (origin - (method url-fetch) - (uri - (string-append "https://git.zx2c4.com/password-store/snapshot/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b")))) - (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (add-before 'install 'patch-system-extension-dir - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (extension-dir (string-append out "/lib/password-store/extensions"))) - (substitute* "src/password-store.sh" - (("^SYSTEM_EXTENSION_DIR=.*$") - ;; lead with whitespace to prevent 'make install' from - ;; overwriting it again - (string-append " SYSTEM_EXTENSION_DIR=\"" - "${PASSWORD_STORE_SYSTEM_EXTENSION_DIR:-" - extension-dir - "}\"\n")))) - #t)) - (add-before 'install 'patch-passmenu-path - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "contrib/dmenu/passmenu" - (("dmenu") (string-append (assoc-ref inputs "dmenu") - "/bin/dmenu")) - (("xdotool") (string-append (assoc-ref inputs "xdotool") - "/bin/xdotool"))) - #t)) - (add-after 'install 'install-passmenu - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (install-file "contrib/dmenu/passmenu" bin) - #t))) - (add-after 'install 'wrap-path - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (path (map (lambda (pkg) - (string-append (assoc-ref inputs pkg) "/bin")) - '("coreutils" "getopt" "git" "gnupg" "qrencode" - "sed" "tree" "which" "xclip")))) - (wrap-program (string-append out "/bin/pass") - `("PATH" ":" prefix (,(string-join path ":")))) - #t)))) - #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output) - "WITH_ALLCOMP=yes" - (string-append "BASHCOMPDIR=" - %output "/etc/bash_completion.d")) - ;; Parallel tests may cause a race condition leading to a - ;; timeout in some circumstances. - #:parallel-tests? #f - #:test-target "test")) - (native-search-paths - (list (search-path-specification - (variable "PASSWORD_STORE_SYSTEM_EXTENSION_DIR") - (separator #f) ;single entry - (files '("lib/password-store/extensions"))))) - (inputs - `(("dmenu" ,dmenu) - ("getopt" ,util-linux) - ("git" ,git) - ("gnupg" ,gnupg) - ("qrencode" ,qrencode) - ("sed" ,sed) - ("tree" ,tree) - ("which" ,which) - ("xclip" ,xclip) - ("xdotool" ,xdotool))) - (home-page "https://www.passwordstore.org/") - (synopsis "Encrypted password manager") - (description "Password-store is a password manager which uses GnuPG to + ;; The 1.7.3 release does not include support for wl-clipboard, which was + ;; added in b0b784b1a57c0b06936e6f5d6560712b4b810cd3. Instead, use the + ;; latest commit on master at the time of writing. + (let ((commit "918992c19231b33b3d4a3288a7288a620e608cb4") + (revision "1")) + (package + (name "password-store") + (version (git-version "1.7.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "git://git.zx2c4.com/password-store") + (commit commit))) + (sha256 + (base32 + "0ni62f4pq96g0i0q66bch1dl9k4zqwhg7xaf746k3gbbqxcdh3vi")) + (file-name (git-file-name name version)) )) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (add-before 'install 'patch-system-extension-dir + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (extension-dir (string-append out "/lib/password-store/extensions"))) + (substitute* "src/password-store.sh" + (("^SYSTEM_EXTENSION_DIR=.*$") + ;; lead with whitespace to prevent 'make install' from + ;; overwriting it again + (string-append " SYSTEM_EXTENSION_DIR=\"" + "${PASSWORD_STORE_SYSTEM_EXTENSION_DIR:-" + extension-dir + "}\"\n")))) + #t)) + (add-before 'install 'patch-passmenu-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "contrib/dmenu/passmenu" + (("dmenu") (string-append (assoc-ref inputs "dmenu") + "/bin/dmenu")) + (("xdotool") (string-append (assoc-ref inputs "xdotool") + "/bin/xdotool"))) + #t)) + (add-after 'install 'install-passmenu + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (install-file "contrib/dmenu/passmenu" bin) + #t))) + (add-after 'install 'wrap-path + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (path (map (lambda (pkg) + (string-append (assoc-ref inputs pkg) "/bin")) + '("coreutils" "getopt" "git" "gnupg" "qrencode" + "sed" "tree" "which" "wl-clipboard" "xclip")))) + (wrap-program (string-append out "/bin/pass") + `("PATH" ":" prefix (,(string-join path ":")))) + #t)))) + #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output) + "WITH_ALLCOMP=yes" + (string-append "BASHCOMPDIR=" + %output "/etc/bash_completion.d")) + ;; Parallel tests may cause a race condition leading to a + ;; timeout in some circumstances. + #:parallel-tests? #f + #:test-target "test")) + (native-search-paths + (list (search-path-specification + (variable "PASSWORD_STORE_SYSTEM_EXTENSION_DIR") + (separator #f) ;single entry + (files '("lib/password-store/extensions"))))) + (inputs + `(("dmenu" ,dmenu) + ("getopt" ,util-linux) + ("git" ,git) + ("gnupg" ,gnupg) + ("qrencode" ,qrencode) + ("sed" ,sed) + ("tree" ,tree) + ("which" ,which) + ("wl-clipboard" ,wl-clipboard) + ("xclip" ,xclip) + ("xdotool" ,xdotool))) + (home-page "https://www.passwordstore.org/") + (synopsis "Encrypted password manager") + (description "Password-store is a password manager which uses GnuPG to store and retrieve passwords. The tool stores each password in its own GnuPG-encrypted file, allowing the program to be simple yet secure. Synchronization is possible using the integrated git support, which commits changes to your password database to a git repository that can be managed through the pass command.") - (license license:gpl2+))) + (license license:gpl2+)))) (define-public pass-otp (package From 852ba914a43da0977d4f53b53da7039cdd6706b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 01:34:11 +0100 Subject: [PATCH 0254/1003] gnu: imagemagick/fixed: Retain version length for successful grafting. * gnu/packages/imagemagick.scm (imagemagick/fixed): [version]: Append 'g'. [source]: Hardcode version. --- gnu/packages/imagemagick.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index d7abf6ea03..1a5ddb63d4 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -130,11 +130,14 @@ text, lines, polygons, ellipses and Bézier curves.") (define-public imagemagick/fixed (package (inherit imagemagick) - (version "6.9.12-2") + (version "6.9.12-2g") ;; 'g' for 'guix', appended character to retain + ;; version length so grafting works properly. (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" - version ".tar.xz")) + "6.9.12-2" ;; Hardcode version here since we + ;; had to change it up there. + ".tar.xz")) (sha256 (base32 "17da5zihz58qm41y61sbvw626m5xfwr2nzszlikrvxyq1j1q7asa")))))) From 674474f646556b1898738dacc9adef29f007d044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 03:52:04 +0100 Subject: [PATCH 0255/1003] gnu: c-ares: Update to 1.17.1 [fixes CVE-2020-8277]. * gnu/packages/adns.scm (c-ares/fixed): New variable. (c-ares)[replacement]: Graft. --- gnu/packages/adns.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/adns.scm b/gnu/packages/adns.scm index 57f34942d5..b36ec18462 100644 --- a/gnu/packages/adns.scm +++ b/gnu/packages/adns.scm @@ -74,6 +74,7 @@ scripts.") (sha256 (base32 "129sm0wzij0mp8vdv68v18hnykcjb6ivi66wnqnnw598q7bql1fy")))) + (replacement c-ares/fixed) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -87,6 +88,23 @@ The primary examples of such applications are servers which communicate with multiple clients and programs with graphical user interfaces.") (license (x11-style "https://c-ares.haxx.se/license.html")))) +(define-public c-ares/fixed + (package + (inherit c-ares) + (name "c-ares") + (version "1.17.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://c-ares.haxx.se/download/" name "-" version + ".tar.gz")) + (sha256 + (base32 + "0h7wjfnk2092glqcp9mqaax7xx0s13m501z1gi0gsjl2vvvd0gfp")))) + (arguments + `(;; FIXME: Some tests require network access + #:tests? #f)))) + ;; gRPC requires a c-ares built with CMake in order to get the .cmake modules. ;; We can not build c-ares itself with CMake because that would introduce a ;; circular dependency through nghttp2. From b38f73f35ceca3559114784a236b4ea145b2c463 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 9 Mar 2021 14:18:12 -0500 Subject: [PATCH 0256/1003] gnu: linux-libre: Update to 5.11.5. * gnu/packages/linux.scm (linux-libre-5.11-version): Update to 5.11.5. (linux-libre-5.11-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 42745e29cb..973acf560e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -354,7 +354,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-5.11-version "5.11.4") +(define-public linux-libre-5.11-version "5.11.5") (define deblob-scripts-5.11 (linux-libre-deblob-scripts linux-libre-5.11-version @@ -362,7 +362,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0yvr80g200hdryz54gdnzj4fl38pf7g4qbgj475rhcfwixhp1j7n"))) (define-public linux-libre-5.11-pristine-source (let ((version linux-libre-5.11-version) - (hash (base32 "1i8dfw83ndaylwji7lazfckk113plvnz7kh1yppbfg35r6przrc8"))) + (hash (base32 "0srxpl44px1fr7y6nl8pq61vmbkkdbsmxy5k7wvqka33gdhy8212"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.11))) From 79aafab07d78267cc6a948cfc2ecd5438cb8609a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 9 Mar 2021 14:18:34 -0500 Subject: [PATCH 0257/1003] gnu: linux-libre 5.10: Update to 5.10.22. * gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.22. (linux-libre-5.10-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 973acf560e..f5a629fe37 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -370,7 +370,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; -(define-public linux-libre-5.10-version "5.10.21") +(define-public linux-libre-5.10-version "5.10.22") (define deblob-scripts-5.10 (linux-libre-deblob-scripts linux-libre-5.10-version @@ -378,7 +378,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0hh27ccqimagr3aij7ygwikxw66y63sqwd0xlf49bhpjd090r9a7"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "1bz2gmyvpl4vsk0r6fsnh451fzvvfbv63rw8ia75gfv52vzyczwy"))) + (hash (base32 "1pv3661d1gvkdl2jg6wx95lr5lcp6q77jrmx0m4a6z6n6asicnr4"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) From 014ef060eab4aa596119ed0d83edd87c1ee8c7d9 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 9 Mar 2021 14:18:55 -0500 Subject: [PATCH 0258/1003] gnu: linux-libre 5.4: Update to 5.4.104. * gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.104. (linux-libre-5.4-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f5a629fe37..e1527ad4b2 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -383,7 +383,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.103") +(define-public linux-libre-5.4-version "5.4.104") (define deblob-scripts-5.4 (linux-libre-deblob-scripts linux-libre-5.4-version @@ -391,7 +391,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "12wy2w7yc6fcn61xm6l7a86rfwwcchfq89lpznm2v3dmy5y3mqw4"))) + (hash (base32 "1p8459plp3a6xw7cib34p7bddjs0dlv2m34dy4z6bbsvgfg51m74"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) From f736dedc4f5d3a2702dea59f692ff3ac9bb3a978 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 04:57:58 +0100 Subject: [PATCH 0259/1003] gnu: python-m2crypto: Disable tests because they are date-sensitive. * gnu/packages/python-crypto.scm (python-m2crypto)[arguments]: Set '#:tests?' to '#f'. --- gnu/packages/python-crypto.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index bf39f124a1..2712482e6f 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -1101,6 +1101,10 @@ provides drop-in compatibility with PyCrypto."))) (sha256 (base32 "09yirf3w77w6f49q6nxhrjm9c3a4y9s30s1k09chqrw8zdgx8sjc")))) (build-system python-build-system) + (arguments + `(;; FIXME: Tests start failing with time due to date checks in TLS + ;; certificates. + #:tests? #f)) (inputs `(("openssl" ,openssl))) (native-inputs `(("swig" ,swig))) (home-page "https://gitlab.com/m2crypto/m2crypto") From ca15eaeb069716892b9e060e7920460147f052bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 05:00:03 +0100 Subject: [PATCH 0260/1003] gnu: osc: Update to 0.172.0 [fixes CVE-2019-3681]. * gnu/packages/build-tools.scm (osc): Update to 0.172.0. [native-inputs]: Add python-chardet. Required by tests. --- gnu/packages/build-tools.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 1b4a2effd5..ae3debd87f 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -462,7 +462,7 @@ a build worked by accident.") (define-public osc (package (name "osc") - (version "0.165.2") + (version "0.172.0") (source (origin (method git-fetch) @@ -471,7 +471,7 @@ a build worked by accident.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0yjwvbvv9fgkpiyvrag89zxchyn3nbgp9jz0wn5p0z9450zwfyz6")))) + (base32 "1sqdnkka3c6b6hwnrmlwrgy7w62cp8raq8mph9pgd2lydzzbvwlp")))) (build-system python-build-system) (arguments `(#:phases @@ -485,6 +485,8 @@ a build worked by accident.") (string-append bin "osc-wrapper.py") (string-append bin "osc")) #t)))))) + (native-inputs + `(("python-chardet" ,python-chardet))) (inputs `(("python-m2crypto" ,python-m2crypto) ("python-pycurl" ,python-pycurl) From 80739ea480a7db667b83b45e3a08be740449f689 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 06:54:48 +0100 Subject: [PATCH 0261/1003] gnu: gnucobol: Update to 3.1.2 [security fixes]. * gnu/packages/cobol.scm (gnucobol): Update to 3.1.2. [arguments]: Add 'set-TERM phase before 'check to set the TERM environment variable for tests that expect it. --- gnu/packages/cobol.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cobol.scm b/gnu/packages/cobol.scm index 257527e3b8..bc191e6b09 100644 --- a/gnu/packages/cobol.scm +++ b/gnu/packages/cobol.scm @@ -30,7 +30,7 @@ (define-public gnucobol (package (name "gnucobol") - (version "2.2") + (version "3.1.2") (source (origin (method url-fetch) @@ -39,7 +39,7 @@ version ".tar.xz")) (sha256 (base32 - "1814s1n95xax2dz938cf4fkcp0q94nkj1gjbdblbzpk9q92zq66w")))) + "0x15ybfm63g7c9340fc6712h9v59spnbyaz4rf85pmnp3zbhaw2r")))) (arguments '(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") @@ -49,7 +49,10 @@ (add-after 'unpack 'place-cobol85-test-suite (lambda* (#:key inputs #:allow-other-keys) (let ((newcob (assoc-ref inputs "newcob"))) - (copy-file newcob "tests/cobol85/newcob.val.Z"))))) + (copy-file newcob "tests/cobol85/newcob.val.Z")))) + (add-before 'check 'set-TERM + ;; Some tests expect a known terminal + (lambda _ (setenv "TERM" "xterm-256color")))) #:test-target "checkall")) (native-inputs `(("perl" ,perl))) From 0d5e2c587f5ac58f7a4f810629692e05255c804c Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 10 Mar 2021 08:40:34 +0100 Subject: [PATCH 0262/1003] gnu: guile-simple-zmq: Update to 0.0.0-9.b2ea97e. * gnu/packages/guile-xyz.scm (guile-simple-zmq): Update to 0.0.0-9.b2ea97e. --- gnu/packages/guile-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index bd26010918..115c3d82f5 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1002,8 +1002,8 @@ convenient nested tree operations.") (license license:gpl3+))) (define-public guile-simple-zmq - (let ((commit "e9446173280117e98ab4208e2aa5273128650e19") - (revision "8")) + (let ((commit "b2ea97e5a0e7417ce718b27b6fd55a3146364b82") + (revision "9")) (package (name "guile-simple-zmq") (version (git-version "0.0.0" revision commit)) @@ -1015,7 +1015,7 @@ convenient nested tree operations.") (commit commit))) (sha256 (base32 - "1nhlp5kl1095k1irvv0kgdbc7lp5qki3d3wg9rla6f7822hkmrzw")) + "08qvcxx0njz9545xa0lq3wpf55v9cl9nbb640ry1lig11wpymqxb")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments From ff52d1156c249ce8906972941a92e1816f86e395 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 10 Mar 2021 08:41:10 +0100 Subject: [PATCH 0263/1003] gnu: cuirass: Update to 0.0.1-73.14e1335. * gnu/packages/ci.scm (cuirass): Update to 0.0.1-73.14e1335. [arguments]: Enable tests and add new 'set-PATH-for-tests phase. [native-inputs]: Add ephemeralpg. --- gnu/packages/ci.scm | 68 ++++++++++++++++++++++++++------------------- 1 file changed, 39 insertions(+), 29 deletions(-) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 5fa800be4a..bf1346f628 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -66,20 +66,21 @@ (file-name (string-append name "-" version "-checkout"))))))) (define-public cuirass - (let ((commit "543e26addc6e2304611e2feb8dd3a5a0646507b6") - (revision "72")) + (let ((commit "14e1335732271fdce730cb7e5043429ea9155201") + (revision "73")) (package (name "cuirass") (version (git-version "0.0.1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.savannah.gnu.org/git/guix/guix-cuirass.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "01cxg0nwafzfg0phbv1b4cv24w7yaalkkdib3qfwf6jqagbfg85y")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/guix/guix-cuirass.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xv2c4x1zbsf7ifwkmf1fjbbgbbdv33d8qx6b6iw9nnfr2022fqa")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) @@ -87,9 +88,14 @@ (ice-9 rdelim) (ice-9 popen)) #:configure-flags '("--localstatedir=/var") ;for /var/log/cuirass - #:tests? #f ;requires a PostgreSQL database. #:phases (modify-phases %standard-phases + (add-before 'check 'set-PATH-for-tests + (lambda* (#:key inputs #:allow-other-keys) + (let ((pg (assoc-ref inputs "ephemeralpg")) + (path (getenv "PATH"))) + (setenv "PATH" (string-append pg "/bin:" path)) + #t))) (add-after 'install 'wrap-program (lambda* (#:key inputs outputs #:allow-other-keys) ;; Wrap the 'cuirass' command to refer to the right modules. @@ -110,22 +116,25 @@ (deps (list avahi gcrypt json zmq squee git bytes fibers zlib matd tls mail guix)) (guile (assoc-ref %build-inputs "guile")) - (effective (read-line - (open-pipe* OPEN_READ - (string-append guile "/bin/guile") - "-c" "(display (effective-version))"))) - (mods (string-drop-right ;drop trailing colon - (string-join deps - (string-append "/share/guile/site/" - effective ":") - 'suffix) - 1)) - (objs (string-drop-right - (string-join deps - (string-append "/lib/guile/" effective - "/site-ccache:") - 'suffix) - 1))) + (effective + (read-line + (open-pipe* OPEN_READ + (string-append guile "/bin/guile") + "-c" "(display (effective-version))"))) + (mods + (string-drop-right ;drop trailing colon + (string-join deps + (string-append "/share/guile/site/" + effective ":") + 'suffix) + 1)) + (objs + (string-drop-right + (string-join deps + (string-append "/lib/guile/" effective + "/site-ccache:") + 'suffix) + 1))) ;; Make sure 'cuirass' can find the 'evaluate' command, as ;; well as the relevant Guile modules. (for-each @@ -157,7 +166,8 @@ `(("autoconf" ,autoconf) ("automake" ,automake) ("pkg-config" ,pkg-config) - ("texinfo" ,texinfo))) + ("texinfo" ,texinfo) + ("ephemeralpg" ,ephemeralpg))) (native-search-paths ;; For HTTPS access, Cuirass itself honors these variables, with the ;; same semantics as Git and OpenSSL (respectively). From 0be2474d42990871170578e3a14a2e6b548157bd Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 9 Mar 2021 17:04:27 +0100 Subject: [PATCH 0264/1003] services: cuirass: Do not create the database directory. Fixes: . * gnu/services/cuirass.scm (cuirass-activation): Since the PostgreSQL switch, it is no longer needed to create the database directory. --- gnu/services/cuirass.scm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm index 4d5e3a1041..dae895107e 100644 --- a/gnu/services/cuirass.scm +++ b/gnu/services/cuirass.scm @@ -280,8 +280,6 @@ (remote-cache (and remote-server (cuirass-remote-server-configuration-cache remote-server))) - (db (dirname - (cuirass-configuration-database config))) (user (cuirass-configuration-user config)) (log "/var/log/cuirass") (group (cuirass-configuration-group config))) @@ -290,7 +288,6 @@ (use-modules (guix build utils)) (mkdir-p #$cache) - (mkdir-p #$db) (mkdir-p #$log) (when #$remote-cache @@ -299,7 +296,6 @@ (let ((uid (passwd:uid (getpw #$user))) (gid (group:gid (getgr #$group)))) (chown #$cache uid gid) - (chown #$db uid gid) (chown #$log uid gid) (when #$remote-cache From 7d63b775513e7049047222dbe403a4181f63828d Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 5 Mar 2021 09:51:42 +0100 Subject: [PATCH 0265/1003] inferior: Break cached-channel-instance into two procedures. Break cached-channel-instance into two different procedures: channels->cached-profile and instances->cached-profile operating respectively on channels and channels instances. * guix/inferior.scm (cached-channel-instance): Rename it into ... (cached-profile): ... this new procedure. (channels->cached-profile, instances->cached-profile): New procedures. * guix/scripts/time-machine.scm (guix-time-machine): Adapt accordingly. --- guix/inferior.scm | 82 +++++++++++++++++++++++------------ guix/scripts/time-machine.scm | 5 ++- 2 files changed, 58 insertions(+), 29 deletions(-) diff --git a/guix/inferior.scm b/guix/inferior.scm index 0990696e6c..714e1e1eae 100644 --- a/guix/inferior.scm +++ b/guix/inferior.scm @@ -98,7 +98,8 @@ gexp->derivation-in-inferior %inferior-cache-directory - cached-channel-instance + channels->cached-profile + instances->cached-profile inferior-for-channels)) ;;; Commentary: @@ -708,22 +709,14 @@ prefix, resolve it; and if 'commit' is unset, fetch CHANNEL's branch tip." #:check-out? #f))) commit)))) -(define* (cached-channel-instance store - channels - #:key - (authenticate? #t) - (cache-directory (%inferior-cache-directory)) - (ttl (* 3600 24 30))) - "Return a directory containing a guix filetree defined by CHANNELS, a list of channels. -The directory is a subdirectory of CACHE-DIRECTORY, where entries can be reclaimed after TTL seconds. -This procedure opens a new connection to the build daemon. AUTHENTICATE? -determines whether CHANNELS are authenticated." - (define commits - ;; Since computing the instances of CHANNELS is I/O-intensive, use a - ;; cheaper way to get the commit list of CHANNELS. This limits overhead - ;; to the minimum in case of a cache hit. - (map channel-full-commit channels)) - +(define* (cached-profile store instances + #:key + cache-directory + commits ttl) + "Return a directory containing a guix filetree defined by INSTANCES, a +procedure returning a list of channel instances. The directory is a +subdirectory of CACHE-DIRECTORY, where entries can be reclaimed after TTL +seconds. This procedure opens a new connection to the build daemon." (define key (bytevector->base32-string (sha256 @@ -755,12 +748,8 @@ determines whether CHANNELS are authenticated." (if (file-exists? cached) cached (run-with-store store - (mlet* %store-monad ((instances - -> (latest-channel-instances store channels - #:authenticate? - authenticate?)) - (profile - (channel-instances->derivation instances))) + (mlet* %store-monad ((profile + (channel-instances->derivation (instances)))) (mbegin %store-monad (show-what-to-build* (list profile)) (built-derivations (list profile)) @@ -770,6 +759,45 @@ determines whether CHANNELS are authenticated." (add-indirect-root* cached) (return cached)))))) +(define* (channels->cached-profile store channels + #:key + (authenticate? #t) + (cache-directory + (%inferior-cache-directory)) + (ttl (* 3600 24 30))) + "Return a cached profile from CHANNELS using the CACHED-PROFILE procedure. +AUTHENTICATE? determines whether CHANNELS are authenticated." + (define commits + ;; Since computing the instances of CHANNELS is I/O-intensive, use a + ;; cheaper way to get the commit list of CHANNELS. This limits overhead + ;; to the minimum in case of a cache hit. + (map channel-full-commit channels)) + + (define instances + (lambda () + (latest-channel-instances store channels + #:authenticate? authenticate?))) + + (cached-profile store instances + #:cache-directory cache-directory + #:commits commits + #:ttl ttl)) + +(define* (instances->cached-profile store instances + #:key + (cache-directory + (%inferior-cache-directory)) + (ttl (* 3600 24 30))) + "Return a cached profile from INSTANCES a list of channel instances using +the CACHED-PROFILE procedure." + (define commits + (map channel-instance-commit instances)) + + (cached-profile store (lambda () instances) + #:cache-directory cache-directory + #:commits commits + #:ttl ttl)) + (define* (inferior-for-channels channels #:key (cache-directory (%inferior-cache-directory)) @@ -782,10 +810,10 @@ This is a convenience procedure that people may use in manifests passed to 'guix package -m', for instance." (define cached (with-store store - (cached-channel-instance store - channels - #:cache-directory cache-directory - #:ttl ttl))) + (channels->cached-profile store + channels + #:cache-directory cache-directory + #:ttl ttl))) (open-inferior cached)) ;;; Local Variables: diff --git a/guix/scripts/time-machine.scm b/guix/scripts/time-machine.scm index 0d27414702..c4dca47d1d 100644 --- a/guix/scripts/time-machine.scm +++ b/guix/scripts/time-machine.scm @@ -142,7 +142,8 @@ Execute COMMAND ARGS... in an older version of Guix.\n")) (with-store store (with-status-verbosity (assoc-ref opts 'verbosity) (set-build-options-from-command-line store opts) - (cached-channel-instance store channels - #:authenticate? authenticate?)))) + (channels->cached-profile + store channels + #:authenticate? authenticate?)))) (executable (string-append directory "/bin/guix"))) (apply execl (cons* executable executable command-line)))))))) From 6ee7e3d26b8f5d2a234518cc2ab1bfeba7cd7c18 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 5 Mar 2021 12:49:06 +0100 Subject: [PATCH 0266/1003] inferior: Fix concurrent cached-profile calls. * guix/inferior.scm (cached-profile): Do not create the profile symlink if it already exists. --- guix/inferior.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/guix/inferior.scm b/guix/inferior.scm index 714e1e1eae..d0cd1ccee7 100644 --- a/guix/inferior.scm +++ b/guix/inferior.scm @@ -755,8 +755,9 @@ seconds. This procedure opens a new connection to the build daemon." (built-derivations (list profile)) ;; Note: Caching is fine even when AUTHENTICATE? is false because ;; we always call 'latest-channel-instances?'. - (symlink* (derivation->output-path profile) cached) - (add-indirect-root* cached) + (unless (file-exists? cached) + (symlink* (derivation->output-path profile) cached) + (add-indirect-root* cached)) (return cached)))))) (define* (channels->cached-profile store channels From 4399b1cf572b1e23ac80a7b7d63daee34a77e104 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 10 Mar 2021 08:47:54 +0100 Subject: [PATCH 0267/1003] channels: Export channel-instance->sexp. * guix/channels.scm (channel-instance->sexp): Export it. --- guix/channels.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/channels.scm b/guix/channels.scm index 05226e766b..f68bbcf693 100644 --- a/guix/channels.scm +++ b/guix/channels.scm @@ -86,6 +86,7 @@ latest-channel-instances checkout->channel-instance latest-channel-derivation + channel-instance->sexp channel-instances->manifest %channel-profile-hooks channel-instances->derivation From 76bea3f8bcd951ded88dfb7f8cad5bc3e5a1701f Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 10 Mar 2021 08:48:19 +0100 Subject: [PATCH 0268/1003] ci: Remove hydra support. This removes hydra support to use Cuirass as the only continuous integration system. * build-aux/hydra/gnu-system.scm: Remove it. * build-aux/hydra/guix-modular.scm: Ditto. * build-aux/hydra/guix.scm: Ditto. * build-aux/cuirass/hydra-to-cuirass.scm: Ditto. * Makefile.am (EXTRA_DIST): Update it. (hydra-jobs.scm): Remove it. (cuirass-jobs.scm): Update it. * build-aux/hydra/evaluate.scm: Move it to ... * build-aux/cuirass/evaluate.scm: ... here. * build-aux/cuirass/guix-modular.scm: Remove it. * build-aux/cuirass/gnu-system.scm: Ditto. * guix/packages.scm (%hydra-supported-systems): Rename it to ... (%cuirass-supported-systems): ... this variable. * build-aux/check-final-inputs-self-contained: Adapt it. * etc/release-manifest.scm: Ditto. * gnu/ci.scm (package->alist): Remove it. (derivation->job): New procedure. (package-job, package-cross-job, cross-jobs, image-jobs, system-test-jobs, tarball-jobs): Use it. (guix-jobs): New procedure. (hydra-jobs): Rename it to ... (cuirass-jobs): ... this procedure. --- Makefile.am | 29 +- .../check-final-inputs-self-contained.scm | 3 +- build-aux/cuirass/evaluate.scm | 105 ++++ build-aux/cuirass/gnu-system.scm | 25 - build-aux/cuirass/guix-modular.scm | 6 - build-aux/cuirass/hydra-to-cuirass.scm | 47 -- build-aux/hydra/evaluate.scm | 131 ----- build-aux/hydra/gnu-system.scm | 88 ---- build-aux/hydra/guix-modular.scm | 91 ---- build-aux/hydra/guix.scm | 106 ----- etc/release-manifest.scm | 2 +- gnu/ci.scm | 448 ++++++++---------- guix/packages.scm | 4 +- 13 files changed, 318 insertions(+), 767 deletions(-) create mode 100644 build-aux/cuirass/evaluate.scm delete mode 100644 build-aux/cuirass/gnu-system.scm delete mode 100644 build-aux/cuirass/guix-modular.scm delete mode 100644 build-aux/cuirass/hydra-to-cuirass.scm delete mode 100644 build-aux/hydra/evaluate.scm delete mode 100644 build-aux/hydra/gnu-system.scm delete mode 100644 build-aux/hydra/guix-modular.scm delete mode 100644 build-aux/hydra/guix.scm diff --git a/Makefile.am b/Makefile.am index bb27297096..0f87c958f7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -608,14 +608,7 @@ EXTRA_DIST += \ etc/historical-authorizations \ build-aux/build-self.scm \ build-aux/compile-all.scm \ - build-aux/hydra/evaluate.scm \ - build-aux/hydra/gnu-system.scm \ - build-aux/hydra/guix.scm \ - build-aux/hydra/guix-modular.scm \ - build-aux/cuirass/gnu-system.scm \ - build-aux/cuirass/guix-modular.scm \ build-aux/cuirass/hurd-manifest.scm \ - build-aux/cuirass/hydra-to-cuirass.scm \ build-aux/check-final-inputs-self-contained.scm \ build-aux/check-channel-news.scm \ build-aux/compile-as-derivation.scm \ @@ -955,28 +948,18 @@ check-channel-news: $(GOBJECTS) $(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \ "$(top_srcdir)/build-aux/check-channel-news.scm" -# Compute the Hydra jobs and write them in the target file. -hydra-jobs.scm: $(GOBJECTS) - $(AM_V_at)$(MKDIR_P) "`dirname "$@"`" +# Compute the Cuirass jobs. +cuirass-jobs: $(GOBJECTS) + rm -rf "$@" + $(AM_V_at)$(MKDIR_P) "$@" $(AM_V_GEN)$(top_builddir)/pre-inst-env "$(GUILE)" \ - "$(top_srcdir)/build-aux/hydra/evaluate.scm" \ - "$(top_srcdir)/build-aux/hydra/gnu-system.scm" > "$@.tmp" - $(AM_V_at)mv "$@.tmp" "$@" - -# Compute the Cuirass jobs and write them in the target file. -cuirass-jobs.scm: $(GOBJECTS) - $(AM_V_at)$(MKDIR_P) "`dirname "$@"`" - $(AM_V_GEN)$(top_builddir)/pre-inst-env "$(GUILE)" \ - "$(top_srcdir)/build-aux/hydra/evaluate.scm" \ - "$(top_srcdir)/build-aux/cuirass/gnu-system.scm" \ - cuirass > "$@.tmp" - $(AM_V_at)mv "$@.tmp" "$@" + "$(top_srcdir)/build-aux/cuirass/evaluate.scm" "$@" .PHONY: gen-ChangeLog gen-AUTHORS gen-tarball-version .PHONY: assert-no-store-file-names assert-binaries-available .PHONY: assert-final-inputs-self-contained check-channel-news .PHONY: clean-go make-go as-derivation authenticate -.PHONY: update-guix-package update-NEWS release +.PHONY: update-guix-package update-NEWS cuirass-jobs release # Downloading up-to-date PO files. diff --git a/build-aux/check-final-inputs-self-contained.scm b/build-aux/check-final-inputs-self-contained.scm index c819086508..a6148d12e3 100644 --- a/build-aux/check-final-inputs-self-contained.scm +++ b/build-aux/check-final-inputs-self-contained.scm @@ -83,5 +83,4 @@ refer to the bootstrap tools." (set-build-options store #:use-substitutes? #t) (for-each (cut test-final-inputs store <>) - %hydra-supported-systems))) - + %cuirass-supported-systems))) diff --git a/build-aux/cuirass/evaluate.scm b/build-aux/cuirass/evaluate.scm new file mode 100644 index 0000000000..fc0744ad2a --- /dev/null +++ b/build-aux/cuirass/evaluate.scm @@ -0,0 +1,105 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016, 2017, 2018, 2020 Ludovic Courtès +;;; Copyright © 2017 Jan Nieuwenhuizen +;;; Copyright © 2021 Mathieu Othacehe +;;; +;;; 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 . + +;;; This program replicates the behavior of Cuirass's 'evaluate' process. +;;; It displays the evaluated jobs on the standard output. + +(use-modules (guix channels) + (guix derivations) + (guix git-download) + (guix inferior) + (guix packages) + (guix store) + (guix ui) + ((guix ui) #:select (build-notifier)) + (ice-9 match) + (ice-9 threads)) + +(define %top-srcdir + (and=> (assq-ref (current-source-location) 'filename) + (lambda (file) + (canonicalize-path + (string-append (dirname file) "/../.."))))) + +(match (command-line) + ((command directory) + (let ((real-build-things build-things)) + (with-store store + ;; Make sure we don't resort to substitutes. + (set-build-options store + #:use-substitutes? #f + #:substitute-urls '()) + + ;; The evaluation of Guix itself requires building a "trampoline" + ;; program, and possibly everything it depends on. Thus, allow builds + ;; but print a notification. + (with-build-handler (build-notifier #:use-substitutes? #f) + + ;; Add %TOP-SRCDIR to the store with a proper Git predicate so we + ;; work from a clean checkout. + (let ((source (add-to-store store "guix-source" #t + "sha256" %top-srcdir + #:select? (git-predicate %top-srcdir)))) + (define instances + (list (checkout->channel-instance source))) + + (define channels + (map channel-instance-channel instances)) + + (define derivation + ;; Compute the derivation of Guix for COMMIT. + (run-with-store store + (channel-instances->derivation instances))) + + ;; TODO: Remove 'show-what-to-build' call when Cuirass' 'evaluate' + ;; scripts uses 'with-build-handler'. + (show-what-to-build store (list derivation)) + (build-derivations store (list derivation)) + + + ;; Evaluate jobs on a per-system basis for two reasons. It speeds + ;; up the evaluation speed as the evaluations can be performed + ;; concurrently. It also decreases the amount of memory needed per + ;; evaluation process. + (n-par-for-each + (/ (current-processor-count) 2) + (lambda (system) + (with-store store + (let ((inferior + (open-inferior (derivation->output-path derivation))) + (channels (map channel-instance->sexp instances))) + (inferior-eval '(use-modules (gnu ci)) inferior) + (let ((jobs + (inferior-eval-with-store + inferior store + `(lambda (store) + (cuirass-jobs store + '((subset . all) + (systems . ,(list system)) + (channels . ,channels)))))) + (file + (string-append directory "/jobs-" system ".scm"))) + (call-with-output-file file + (lambda (port) + (write jobs port))))))) + %cuirass-supported-systems)))))) + (x + (format (current-error-port) "Wrong command: ~a~%." x) + (exit 1))) diff --git a/build-aux/cuirass/gnu-system.scm b/build-aux/cuirass/gnu-system.scm deleted file mode 100644 index 0eb834cfba..0000000000 --- a/build-aux/cuirass/gnu-system.scm +++ /dev/null @@ -1,25 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Jan Nieuwenhuizen -;;; -;;; 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 . - -;;; -;;; This file defines build jobs for the Cuirass continuation integration -;;; tool. -;;; - -(include "../hydra/gnu-system.scm") -(include "hydra-to-cuirass.scm") diff --git a/build-aux/cuirass/guix-modular.scm b/build-aux/cuirass/guix-modular.scm deleted file mode 100644 index cbbdbf1133..0000000000 --- a/build-aux/cuirass/guix-modular.scm +++ /dev/null @@ -1,6 +0,0 @@ -;;; -;;; This file defines Cuirass build jobs to build Guix itself. -;;; - -(include "../hydra/guix-modular.scm") -(include "hydra-to-cuirass.scm") diff --git a/build-aux/cuirass/hydra-to-cuirass.scm b/build-aux/cuirass/hydra-to-cuirass.scm deleted file mode 100644 index 75c77ea35a..0000000000 --- a/build-aux/cuirass/hydra-to-cuirass.scm +++ /dev/null @@ -1,47 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Jan Nieuwenhuizen -;;; -;;; 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 . - -;;; -;;; This file defines the conversion of Hydra build jobs to Cuirass build -;;; jobs. It is meant to be included in other files. -;;; - -(use-modules ((guix licenses) - #:select (license? license-name license-uri license-comment))) - -(define (cuirass-jobs store arguments) - "Return Cuirass jobs." - (map hydra-job->cuirass-job (hydra-jobs store arguments))) - -(define (hydra-job->cuirass-job hydra-job) - (let ((name (car hydra-job)) - (job ((cdr hydra-job)))) - (lambda _ (acons #:job-name (symbol->string name) - (map symbol-alist-entry->keyword-alist-entry job))))) - -(define (symbol-alist-entry->keyword-alist-entry entry) - (cons (symbol->keyword (car entry)) (entry->sexp-entry (cdr entry)))) - -(define (entry->sexp-entry o) - (match o - ((? license?) `((name . (license-name o)) - (uri . ,(license-uri o)) - (comment . ,(license-comment o)))) - ((lst ...) - (map entry->sexp-entry lst)) - (_ o))) diff --git a/build-aux/hydra/evaluate.scm b/build-aux/hydra/evaluate.scm deleted file mode 100644 index c74fcdb763..0000000000 --- a/build-aux/hydra/evaluate.scm +++ /dev/null @@ -1,131 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017, 2018, 2020 Ludovic Courtès -;;; Copyright © 2017 Jan Nieuwenhuizen -;;; -;;; 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 . - -;;; This program replicates the behavior of Hydra's 'hydra-eval-guile-job'. -;;; It evaluates the Hydra job defined by the program passed as its first -;;; arguments and outputs an sexp of the jobs on standard output. - -(use-modules (guix store) - (guix git-download) - ((guix build utils) #:select (with-directory-excursion)) - ((guix ui) #:select (build-notifier)) - (srfi srfi-19) - (ice-9 match) - (ice-9 pretty-print) - (ice-9 format)) - -(define %top-srcdir - (and=> (assq-ref (current-source-location) 'filename) - (lambda (file) - (canonicalize-path - (string-append (dirname file) "/../.."))))) - -(define %user-module - ;; Hydra user module. - (let ((m (make-module))) - (beautify-user-module! m) - m)) - -(define (call-with-time thunk kont) - "Call THUNK and pass KONT the elapsed time followed by THUNK's return -values." - (let* ((start (current-time time-monotonic)) - (result (call-with-values thunk list)) - (end (current-time time-monotonic))) - (apply kont (time-difference end start) result))) - -(define (call-with-time-display thunk) - "Call THUNK and write to the current output port its duration." - (call-with-time thunk - (lambda (time . results) - (format #t "~,3f seconds~%" - (+ (time-second time) - (/ (time-nanosecond time) 1e9))) - (apply values results)))) - -(define (assert-valid-job job thing) - "Raise an error if THING is not an alist with a valid 'derivation' entry. -Otherwise return THING." - (unless (and (list? thing) - (and=> (assoc-ref thing 'derivation) - (lambda (value) - (and (string? value) - (string-suffix? ".drv" value))))) - (error "job did not produce a valid alist" job thing)) - thing) - - -;; Without further ado... -(match (command-line) - ((command file cuirass? ...) - ;; Load FILE, a Scheme file that defines Hydra jobs. - (let ((port (current-output-port)) - (real-build-things build-things)) - (with-store store - ;; Make sure we don't resort to substitutes. - (set-build-options store - #:use-substitutes? #f - #:substitute-urls '()) - - ;; The evaluation of Guix itself requires building a "trampoline" - ;; program, and possibly everything it depends on. Thus, allow builds - ;; but print a notification. - (with-build-handler (build-notifier #:use-substitutes? #f) - - ;; Add %TOP-SRCDIR to the store with a proper Git predicate so we work - ;; from a clean checkout - (let ((source (add-to-store store "guix-source" #t - "sha256" %top-srcdir - #:select? (git-predicate %top-srcdir)))) - (with-directory-excursion source - (save-module-excursion - (lambda () - (set-current-module %user-module) - (format (current-error-port) - "loading '~a' relative to '~a'...~%" - file source) - (primitive-load file)))) - - ;; Call the entry point of FILE and print the resulting job sexp. - (pretty-print - (match ((module-ref %user-module - (if (equal? cuirass? "cuirass") - 'cuirass-jobs - 'hydra-jobs)) - store `((guix - . ((file-name . ,source))))) - (((names . thunks) ...) - (map (lambda (job thunk) - (format (current-error-port) "evaluating '~a'... " job) - (force-output (current-error-port)) - (cons job - (assert-valid-job job - (call-with-time-display thunk)))) - names thunks))) - port)))))) - ((command _ ...) - (format (current-error-port) "Usage: ~a FILE [cuirass] -Evaluate the Hydra or Cuirass jobs defined in FILE.~%" - command) - (exit 1))) - -;;; Local Variables: -;;; eval: (put 'call-with-time 'scheme-indent-function 1) -;;; End: - diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm deleted file mode 100644 index a03324daeb..0000000000 --- a/build-aux/hydra/gnu-system.scm +++ /dev/null @@ -1,88 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2020 Ludovic Courtès -;;; Copyright © 2017 Jan Nieuwenhuizen -;;; Copyright © 2018, 2019 Clément Lassieur -;;; -;;; 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 . - -;;; -;;; This file defines build jobs for the Hydra continuation integration -;;; tool. -;;; - -(use-modules (guix inferior) (guix channels) - (guix) - (guix ui) - (srfi srfi-1) - (ice-9 match)) - -;; XXX: Debugging hack: since `hydra-eval-guile-jobs' redirects the output -;; port to the bit bucket, let us write to the error port instead. -(setvbuf (current-error-port) 'line) -(set-current-output-port (current-error-port)) - -(define (find-current-checkout arguments) - "Find the first checkout of ARGUMENTS that provided the current file. -Return #f if no such checkout is found." - (let ((current-root - (canonicalize-path - (string-append (dirname (current-filename)) "/../..")))) - (find (lambda (argument) - (and=> (assq-ref argument 'file-name) - (lambda (name) - (string=? name current-root)))) arguments))) - -(define (hydra-jobs store arguments) - "Return a list of jobs where each job is a NAME/THUNK pair." - - (define checkout - (find-current-checkout arguments)) - - (define commit - (assq-ref checkout 'revision)) - - (define source - (assq-ref checkout 'file-name)) - - (define instance - (checkout->channel-instance source #:commit commit)) - - (define derivation - ;; Compute the derivation of Guix for COMMIT. - (run-with-store store - (channel-instances->derivation (list instance)))) - - ;; TODO: Remove 'show-what-to-build' call when Cuirass' 'evaluate' scripts - ;; uses 'with-build-handler'. - (show-what-to-build store (list derivation)) - (build-derivations store (list derivation)) - - ;; Open an inferior for the just-built Guix. - (let ((inferior (open-inferior (derivation->output-path derivation)))) - (inferior-eval '(use-modules (gnu ci) (ice-9 match)) inferior) - - (map (match-lambda - ((name . fields) - ;; Hydra expects a thunk, so here it is. - (cons name (lambda () fields)))) - (inferior-eval-with-store - inferior store - `(lambda (store) - (map (match-lambda - ((name . thunk) - (cons name (thunk)))) - (hydra-jobs store '((superior-guix-checkout . ,checkout) - ,@arguments)))))))) diff --git a/build-aux/hydra/guix-modular.scm b/build-aux/hydra/guix-modular.scm deleted file mode 100644 index 060b84b8ef..0000000000 --- a/build-aux/hydra/guix-modular.scm +++ /dev/null @@ -1,91 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018, 2020 Ludovic Courtès -;;; -;;; 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 . - -;;; -;;; This file defines a continuous integration job to build the same modular -;;; Guix as 'guix pull', which is defined in (guix self). -;;; - -(use-modules (guix store) - (guix config) - (guix utils) - ((guix packages) #:select (%hydra-supported-systems)) - (guix derivations) - (guix monads) - ((guix licenses) #:prefix license:) - (srfi srfi-1) - (ice-9 match)) - -;; XXX: Debugging hack: since `hydra-eval-guile-jobs' redirects the output -;; port to the bit bucket, let us write to the error port instead. -(setvbuf (current-error-port) 'line) -(set-current-output-port (current-error-port)) - -(define* (build-job store source version system) - "Return a Hydra job a list building the modular Guix derivation from SOURCE -for SYSTEM. Use VERSION as the version identifier." - (lambda () - (define build - (primitive-load (string-append source "/build-aux/build-self.scm"))) - - (let ((drv (run-with-store store - (build source #:version version #:system system - #:pull-version 1 - #:guile-version "2.2")))) - `((derivation . ,(derivation-file-name drv)) ;the latest 2.2.x - (log . ,(log-file store (derivation-file-name drv))) - (outputs . ,(filter-map (lambda (res) - (match res - ((name . path) - `(,name . ,path)))) - (derivation->output-paths drv))) - (nix-name . ,(derivation-name drv)) - (system . ,(derivation-system drv)) - (description . "Modular Guix") - (long-description - . "This is the modular Guix package as produced by 'guix pull'.") - (license . ,license:gpl3+) - (home-page . ,%guix-home-page-url) - (maintainers . (,%guix-bug-report-address)))))) - -(define (hydra-jobs store arguments) - "Return Hydra jobs." - (define systems - (match (assoc-ref arguments 'systems) - (#f %hydra-supported-systems) - ((lst ...) lst) - ((? string? str) (call-with-input-string str read)))) - - (define guix-checkout - (or (assq-ref arguments 'guix) ;Hydra on hydra - (assq-ref arguments 'guix-modular))) ;Cuirass on berlin - - (define version - (or (assq-ref guix-checkout 'revision) - "0.unknown")) - - (let ((file (assq-ref guix-checkout 'file-name))) - (format (current-error-port) "using checkout ~s (~s; arguments: ~s)~%" - guix-checkout file arguments) - - (map (lambda (system) - (let ((name (string->symbol - (string-append "guix." system)))) - `(,name - . ,(build-job store file version system)))) - systems))) diff --git a/build-aux/hydra/guix.scm b/build-aux/hydra/guix.scm deleted file mode 100644 index 08193ec82e..0000000000 --- a/build-aux/hydra/guix.scm +++ /dev/null @@ -1,106 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès -;;; -;;; 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 . - -;;; -;;; This file defines build jobs of Guix itself for the Hydra continuation -;;; integration tool. -;;; - -;; Attempt to use our very own Guix modules. -(eval-when (expand load eval) - - ;; Ignore any available .go, and force recompilation. This is because our - ;; checkout in the store has mtime set to the epoch, and thus .go files look - ;; newer, even though they may not correspond. - (set! %fresh-auto-compile #t) - - ;; Display which files are loaded. - (set! %load-verbosely #t) - - (and=> (assoc-ref (current-source-location) 'filename) - (lambda (file) - (let ((dir (string-append (dirname file) "/../.."))) - (format (current-error-port) "prepending ~s to the load path~%" - dir) - (set! %load-path (cons dir %load-path)))))) - - -(use-modules (guix store) - (guix packages) - (guix utils) - (guix grafts) - (guix derivations) - (guix build-system gnu) - (gnu packages package-management) - (srfi srfi-1) - (srfi srfi-26) - (ice-9 match)) - -;; XXX: Debugging hack: since `hydra-eval-guile-jobs' redirects the output -;; port to the bit bucket, let us write to the error port instead. -(setvbuf (current-error-port) _IOLBF) -(set-current-output-port (current-error-port)) - -(define* (package->alist store package system - #:optional (package-derivation package-derivation)) - "Convert PACKAGE to an alist suitable for Hydra." - `((derivation . ,(derivation-file-name - (parameterize ((%graft? #f)) - (package-derivation store package system - #:graft? #f)))) - (description . ,(package-synopsis package)) - (long-description . ,(package-description package)) - (license . ,(package-license package)) - (home-page . ,(package-home-page package)) - (maintainers . ("bug-guix@gnu.org")))) - -(define (hydra-jobs store arguments) - "Return Hydra jobs." - (define systems - (match (filter-map (match-lambda - (('system . value) - value) - (_ #f)) - arguments) - ((lst ..1) - lst) - (_ - (list (%current-system))))) - - (define guix-checkout - (assq-ref arguments 'guix)) - - (let ((file (assq-ref guix-checkout 'file-name))) - (format (current-error-port) "using checkout ~s (~s)~%" - guix-checkout file) - - `((tarball . ,(cute package->alist store - (dist-package guix file) - (%current-system))) - - ,@(map (lambda (system) - (let ((name (string->symbol - (string-append "guix." system)))) - `(,name - . ,(cute package->alist store - (package - (inherit guix) - (version "latest") - (source file)) - system)))) - %hydra-supported-systems)))) diff --git a/etc/release-manifest.scm b/etc/release-manifest.scm index da98d6e00b..a1f731a945 100644 --- a/etc/release-manifest.scm +++ b/etc/release-manifest.scm @@ -103,7 +103,7 @@ TARGET." (if (string=? system "i586-gnu") %base-packages/hurd %base-packages))) - %hydra-supported-systems))) + %cuirass-supported-systems))) (define %system-manifest (manifest diff --git a/gnu/ci.scm b/gnu/ci.scm index 96bff64875..6edcdd0e19 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2018, 2019 Clément Lassieur ;;; Copyright © 2020 Julien Lepiller -;;; Copyright © 2020 Mathieu Othacehe +;;; Copyright © 2020, 2021 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,6 +21,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu ci) + #:use-module (guix channels) #:use-module (guix config) #:use-module (guix store) #:use-module (guix grafts) @@ -64,67 +65,69 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (ice-9 match) - #:export (%cross-targets + #:export (%core-packages + %cross-targets channel-source->package - hydra-jobs)) + cuirass-jobs)) ;;; Commentary: ;;; -;;; This file defines build jobs for the Hydra and Cuirass continuation -;;; integration tools. +;;; This file defines build jobs for Cuirass. ;;; ;;; Code: -(define* (package->alist store package system - #:optional (package-derivation package-derivation)) - "Convert PACKAGE to an alist suitable for Hydra." - (parameterize ((%graft? #f)) - (let ((drv (package-derivation store package system - #:graft? #f))) - `((derivation . ,(derivation-file-name drv)) - (log . ,(log-file store (derivation-file-name drv))) - (outputs . ,(filter-map (lambda (res) - (match res - ((name . path) - `(,name . ,path)))) - (derivation->output-paths drv))) - (nix-name . ,(derivation-name drv)) - (system . ,(derivation-system drv)) - (description . ,(package-synopsis package)) - (long-description . ,(package-description package)) +(define* (derivation->job name drv + #:key + period + (max-silent-time 3600) + (timeout 3600)) + "Return a Cuirass job called NAME and describing DRV. PERIOD is the minimal +duration that must separate two evaluations of the same job. If PERIOD is +false, then the job will be evaluated as soon as possible. - ;; XXX: Hydra ignores licenses that are not a structure or a - ;; list thereof. - (license . ,(let loop ((license (package-license package))) - (match license - ((? license?) - (license-name license)) - ((lst ...) - (map loop license))))) +MAX-SILENT-TIME and TIMEOUT are build options passed to the daemon when +building the derivation." + `((#:job-name . ,name) + (#:derivation . ,(derivation-file-name drv)) + (#:outputs . ,(filter-map + (lambda (res) + (match res + ((name . path) + `(,name . ,path)))) + (derivation->output-paths drv))) + (#:nix-name . ,(derivation-name drv)) + (#:system . ,(derivation-system drv)) + (#:period . ,period) + (#:max-silent-time . ,max-silent-time) + (#:timeout . ,timeout))) - (home-page . ,(package-home-page package)) - (maintainers . ("bug-guix@gnu.org")) - (max-silent-time . ,(or (assoc-ref (package-properties package) - 'max-silent-time) - 3600)) ;1 hour by default - (timeout . ,(or (assoc-ref (package-properties package) 'timeout) - 72000)))))) ;20 hours by default - -(define (package-job store job-name package system) +(define* (package-job store job-name package system + #:key cross? target) "Return a job called JOB-NAME that builds PACKAGE on SYSTEM." - (let ((job-name (symbol-append job-name (string->symbol ".") - (string->symbol system)))) - `(,job-name . ,(cut package->alist store package system)))) + (let ((job-name (string-append job-name "." system))) + (parameterize ((%graft? #f)) + (let* ((drv (if cross? + (package-cross-derivation store package target system + #:graft? #f) + (package-derivation store package system + #:graft? #f))) + (max-silent-time (or (assoc-ref (package-properties package) + 'max-silent-time) + 3600)) + (timeout (or (assoc-ref (package-properties package) + 'timeout) + 72000))) + (derivation->job job-name drv + #:max-silent-time max-silent-time + #:timeout timeout))))) (define (package-cross-job store job-name package target system) "Return a job called TARGET.JOB-NAME that cross-builds PACKAGE for TARGET on SYSTEM." - `(,(symbol-append (string->symbol target) (string->symbol ".") job-name - (string->symbol ".") (string->symbol system)) . - ,(cute package->alist store package system - (lambda* (store package system #:key graft?) - (package-cross-derivation store package target system - #:graft? graft?))))) + (let ((name (string-append target "." job-name "." system))) + (package-job store name package system + #:cross? #t + #:target target))) (define %core-packages ;; Note: Don't put the '-final' package variants because (1) that's @@ -200,6 +203,22 @@ SYSTEM." (remove (either from-32-to-64? same? pointless?) %cross-targets))) +(define* (guix-jobs store systems #:key source commit) + "Return a list of jobs for Guix itself." + (define build + (primitive-load (string-append source "/build-aux/build-self.scm"))) + + (map + (lambda (system) + (let ((name (string->symbol + (string-append "guix." system))) + (drv (run-with-store store + (build source #:version commit #:system system + #:pull-version 1 + #:guile-version "2.2")))) + (derivation->job name drv))) + systems)) + ;; Architectures that are able to build or cross-build Guix System images. ;; This does not mean that other architectures are not supported, only that ;; they are often not fast enough to support Guix System images building. @@ -219,32 +238,11 @@ SYSTEM." "Return a list of jobs that build images for SYSTEM. Those jobs are expensive in storage and I/O operations, hence their periodicity is limited by passing the PERIOD argument." - (define (->alist drv) - `((derivation . ,(derivation-file-name drv)) - (log . ,(log-file store (derivation-file-name drv))) - (outputs . ,(filter-map (lambda (res) - (match res - ((name . path) - `(,name . ,path)))) - (derivation->output-paths drv))) - (nix-name . ,(derivation-name drv)) - (system . ,(derivation-system drv)) - (description . "Stand-alone image of the GNU system") - (long-description . "This is a demo stand-alone image of the GNU -system.") - (license . ,(license-name gpl3+)) - (period . ,(hours 48)) - (max-silent-time . 3600) - (timeout . 3600) - (home-page . ,%guix-home-page-url) - (maintainers . ("bug-guix@gnu.org")))) - (define (->job name drv) - (let ((name (symbol-append name (string->symbol ".") - (string->symbol system)))) - `(,name . ,(lambda () - (parameterize ((%graft? #f)) - (->alist drv)))))) + (let ((name (string-append name "." system))) + (parameterize ((%graft? #f)) + (derivation->job name drv + #:period (hours 48))))) (define (build-image image) (run-with-store store @@ -256,25 +254,26 @@ system.") (expt 2 20)) (if (member system %guix-system-supported-systems) - `(,(->job 'usb-image + `(,(->job "usb-image" (build-image (image (inherit efi-disk-image) (operating-system installation-os)))) - ,(->job 'iso9660-image + ,(->job "iso9660-image" (build-image (image (inherit (image-with-label - iso9660-image - (string-append "GUIX_" system "_" - (if (> (string-length %guix-version) 7) - (substring %guix-version 0 7) - %guix-version)))) + iso9660-image + (string-append "GUIX_" system "_" + (if (> (string-length %guix-version) 7) + (substring %guix-version 0 7) + %guix-version)))) (operating-system installation-os)))) ;; Only cross-compile Guix System images from x86_64-linux for now. ,@(if (string=? system "x86_64-linux") (map (lambda (image) - (->job (image-name image) (build-image image))) + (->job (symbol->string (image-name image)) + (build-image image))) %guix-system-images) '())) '())) @@ -322,112 +321,72 @@ system.") (define* (system-test-jobs store system #:key source commit) "Return a list of jobs for the system tests." - (define (test->thunk test) - (lambda () - (define drv - (run-with-store store - (mbegin %store-monad - (set-current-system system) - (set-grafting #f) - (set-guile-for-build (default-guile)) - (system-test-value test)))) - - ;; Those tests are extremely expensive in I/O operations and storage - ;; size, use the "period" attribute to run them with a period of at - ;; least 48 hours. - `((derivation . ,(derivation-file-name drv)) - (log . ,(log-file store (derivation-file-name drv))) - (outputs . ,(filter-map (lambda (res) - (match res - ((name . path) - `(,name . ,path)))) - (derivation->output-paths drv))) - (nix-name . ,(derivation-name drv)) - (system . ,(derivation-system drv)) - (description . ,(format #f "Guix '~a' system test" - (system-test-name test))) - (long-description . ,(system-test-description test)) - (license . ,(license-name gpl3+)) - (period . ,(hours 48)) - (max-silent-time . 3600) - (timeout . 3600) - (home-page . ,%guix-home-page-url) - (maintainers . ("bug-guix@gnu.org"))))) - (define (->job test) - (let ((name (string->symbol - (string-append "test." (system-test-name test) - "." system)))) - (cons name (test->thunk test)))) + (parameterize ((current-guix-package + (channel-source->package source #:commit commit))) + (let ((name (string-append "test." (system-test-name test) + "." system)) + (drv (run-with-store store + (mbegin %store-monad + (set-current-system system) + (set-grafting #f) + (set-guile-for-build (default-guile)) + (system-test-value test))))) + + ;; Those tests are extremely expensive in I/O operations and storage + ;; size, use the "period" attribute to run them with a period of at + ;; least 48 hours. + (derivation->job name drv + #:period (hours 24))))) (if (member system %guix-system-supported-systems) ;; Override the value of 'current-guix' used by system tests. Using a ;; channel instance makes tests that rely on 'current-guix' less ;; expensive. It also makes sure we get a valid Guix package when this ;; code is not running from a checkout. - (parameterize ((current-guix-package - (channel-source->package source #:commit commit))) - (map ->job (all-system-tests))) + (map ->job (all-system-tests)) '())) (define (tarball-jobs store system) - "Return Hydra jobs to build the self-contained Guix binary tarball." - (define (->alist drv) - `((derivation . ,(derivation-file-name drv)) - (log . ,(log-file store (derivation-file-name drv))) - (outputs . ,(filter-map (lambda (res) - (match res - ((name . path) - `(,name . ,path)))) - (derivation->output-paths drv))) - (nix-name . ,(derivation-name drv)) - (system . ,(derivation-system drv)) - (description . "Stand-alone binary Guix tarball") - (long-description . "This is a tarball containing binaries of Guix and -all its dependencies, and ready to be installed on \"foreign\" distributions.") - (license . ,(license-name gpl3+)) - (home-page . ,%guix-home-page-url) - (maintainers . ("bug-guix@gnu.org")) - (period . ,(hours 24)))) - + "Return jobs to build the self-contained Guix binary tarball." (define (->job name drv) - (let ((name (symbol-append name (string->symbol ".") - (string->symbol system)))) - `(,name . ,(lambda () - (parameterize ((%graft? #f)) - (->alist drv)))))) + (let ((name (string-append name "." system))) + (parameterize ((%graft? #f)) + (derivation->job name drv + #:period (hours 24))))) ;; XXX: Add a job for the stable Guix? - (list (->job 'binary-tarball - (run-with-store store - (mbegin %store-monad - (set-guile-for-build (default-guile)) - (>>= (profile-derivation (packages->manifest (list guix))) - (lambda (profile) - (self-contained-tarball "guix-binary" profile - #:localstatedir? #t - #:compressor - (lookup-compressor "xz"))))) - #:system system)))) + (list + (->job "binary-tarball" + (run-with-store store + (mbegin %store-monad + (set-guile-for-build (default-guile)) + (>>= (profile-derivation (packages->manifest (list guix))) + (lambda (profile) + (self-contained-tarball "guix-binary" profile + #:localstatedir? #t + #:compressor + (lookup-compressor "xz"))))) + #:system system)))) (define job-name ;; Return the name of a package's job. - (compose string->symbol package-name)) + package-name) (define package->job (let ((base-packages (delete-duplicates (append-map (match-lambda - ((_ package _ ...) - (match (package-transitive-inputs package) - (((_ inputs _ ...) ...) - inputs)))) + ((_ package _ ...) + (match (package-transitive-inputs package) + (((_ inputs _ ...) ...) + inputs)))) (%final-inputs))))) (lambda (store package system) "Return a job for PACKAGE on SYSTEM, or #f if this combination is not valid." (cond ((member package base-packages) - (package-job store (symbol-append 'base. (job-name package)) + (package-job store (string-append "base." (job-name package)) package system)) ((supported-package? package system) (let ((drv (package-derivation store package system @@ -461,14 +420,19 @@ valid." packages))) #:select? (const #t))) ;include hidden packages -(define (arguments->manifests arguments) +(define (arguments->manifests arguments channels) "Return the list of manifests extracted from ARGUMENTS." + (define (channel-name->checkout name) + (let ((channel (find (lambda (channel) + (eq? (channel-name channel) name)) + channels))) + (channel-url channel))) + (map (match-lambda - ((input-name . relative-path) - (let* ((checkout (assq-ref arguments (string->symbol input-name))) - (base (assq-ref checkout 'file-name))) - (in-vicinity base relative-path)))) - (assq-ref arguments 'manifests))) + ((name . path) + (let ((checkout (channel-name->checkout name))) + (in-vicinity checkout path)))) + arguments)) (define (manifests->packages store manifests) "Return the list of packages found in MANIFESTS." @@ -484,100 +448,94 @@ valid." load-manifest) manifests)))) -(define (find-current-checkout arguments) - "Find the first checkout of ARGUMENTS that provided the current file. -Return #f if no such checkout is found." - (let ((current-root - (canonicalize-path - (string-append (dirname (current-filename)) "/..")))) - (find (lambda (argument) - (and=> (assq-ref argument 'file-name) - (lambda (name) - (string=? name current-root)))) arguments))) - ;;; -;;; Hydra entry point. +;;; Cuirass entry point. ;;; -(define (hydra-jobs store arguments) - "Return Hydra jobs." +(define (cuirass-jobs store arguments) + "Register Cuirass jobs." (define subset - (match (assoc-ref arguments 'subset) - ("core" 'core) ; only build core packages - ("hello" 'hello) ; only build hello - (((? string?) (? string?) ...) 'list) ; only build selected list of packages - ("manifests" 'manifests) ; only build packages in the list of manifests - (_ 'all))) ; build everything + (assoc-ref arguments 'subset)) (define systems (match (assoc-ref arguments 'systems) - (#f %hydra-supported-systems) + (#f %cuirass-supported-systems) ((lst ...) lst) ((? string? str) (call-with-input-string str read)))) - (define checkout - (or (find-current-checkout arguments) - (assq-ref arguments 'superior-guix-checkout))) + (define channels + (let ((channels (assq-ref arguments 'channels))) + (map sexp->channel channels))) + + (define guix + (find guix-channel? channels)) (define commit - (assq-ref checkout 'revision)) + (channel-commit guix)) (define source - (assq-ref checkout 'file-name)) + (channel-url guix)) ;; Turn off grafts. Grafting is meant to happen on the user's machines. (parameterize ((%graft? #f)) ;; Return one job for each package, except bootstrap packages. - (append-map (lambda (system) - (format (current-error-port) - "evaluating for '~a' (heap size: ~a MiB)...~%" - system - (round - (/ (assoc-ref (gc-stats) 'heap-size) - (expt 2. 20)))) - (invalidate-derivation-caches!) - (case subset - ((all) - ;; Build everything, including replacements. - (let ((all (all-packages)) - (job (lambda (package) - (package->job store package - system)))) - (append (filter-map job all) - (image-jobs store system) - (system-test-jobs store system - #:source source - #:commit commit) - (tarball-jobs store system) - (cross-jobs store system)))) - ((core) - ;; Build core packages only. - (append (map (lambda (package) - (package-job store (job-name package) - package system)) - %core-packages) - (cross-jobs store system))) - ((hello) - ;; Build hello package only. - (let ((hello (specification->package "hello"))) - (list (package-job store (job-name hello) hello system)))) - ((list) - ;; Build selected list of packages only. - (let* ((names (assoc-ref arguments 'subset)) - (packages (map specification->package names))) - (map (lambda (package) - (package-job store (job-name package) - package system)) - packages))) - ((manifests) - ;; Build packages in the list of manifests. - (let* ((manifests (arguments->manifests arguments)) - (packages (manifests->packages store manifests))) - (map (lambda (package) - (package-job store (job-name package) - package system)) - packages))) - (else - (error "unknown subset" subset)))) - systems))) + (append-map + (lambda (system) + (format (current-error-port) + "evaluating for '~a' (heap size: ~a MiB)...~%" + system + (round + (/ (assoc-ref (gc-stats) 'heap-size) + (expt 2. 20)))) + (invalidate-derivation-caches!) + (match subset + ('all + ;; Build everything, including replacements. + (let ((all (all-packages)) + (job (lambda (package) + (package->job store package system)))) + (append + (filter-map job all) + (image-jobs store system) + (system-test-jobs store system + #:source source + #:commit commit) + (tarball-jobs store system) + (cross-jobs store system)))) + ('core + ;; Build core packages only. + (append + (map (lambda (package) + (package-job store (job-name package) + package system)) + %core-packages) + (cross-jobs store system))) + ('guix + ;; Build Guix modules only. + (guix-jobs store systems + #:source source + #:commit commit)) + ('hello + ;; Build hello package only. + (let ((hello (specification->package "hello"))) + (list (package-job store (job-name hello) + hello system)))) + (('packages . rest) + ;; Build selected list of packages only. + (let ((packages (map specification->package rest))) + (map (lambda (package) + (package-job store (job-name package) + package system)) + packages))) + (('manifests . rest) + ;; Build packages in the list of manifests. + (let* ((manifests (arguments->manifests rest channels)) + (packages (manifests->packages store manifests))) + (map (lambda (package) + (package-job store (job-name package) + package system)) + packages))) + (else + (error "unknown subset" subset)))) + systems))) diff --git a/guix/packages.scm b/guix/packages.scm index eae8fcbb6e..a057a88c63 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -131,7 +131,7 @@ %supported-systems %hurd-systems - %hydra-supported-systems + %cuirass-supported-systems supported-package? &package-error @@ -351,7 +351,7 @@ name of its URI." ;; The GNU/Hurd systems for which support is being developed. '("i586-gnu" "i686-gnu")) -(define %hydra-supported-systems +(define %cuirass-supported-systems ;; This is the list of system types for which build machines are available. ;; ;; XXX: MIPS is unavailable in CI: From 6c883d0f1deacff4fc227a4f925414a3733efc6e Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 10 Mar 2021 09:05:02 +0100 Subject: [PATCH 0269/1003] services: cuirass: Remove simple cuirass configuration. The Cuirass configuration has been simplified so that this is no longer needed. * gnu/services/cuirass.scm (, , simple-cuirass-configuration->specs): Remove them. --- gnu/services/cuirass.scm | 82 +--------------------------------------- 1 file changed, 1 insertion(+), 81 deletions(-) diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm index dae895107e..317d877459 100644 --- a/gnu/services/cuirass.scm +++ b/gnu/services/cuirass.scm @@ -50,17 +50,7 @@ cuirass-remote-worker-configuration cuirass-remote-worker-configuration? - cuirass-remote-worker-service-type - - - build-manifest - build-manifest? - - - simple-cuirass-configuration - simple-cuirass-configuration? - - simple-cuirass-configuration->specs)) + cuirass-remote-worker-service-type)) ;;;; Commentary: ;;; @@ -395,73 +385,3 @@ CONFIG." cuirass-remote-worker-shepherd-service))) (description "Run the Cuirass remote build worker service."))) - -(define-record-type* - build-manifest make-build-manifest - build-manifest? - (channel-name build-manifest-channel-name) ;symbol - (manifest build-manifest-manifest)) ;string - -(define-record-type* - simple-cuirass-configuration make-simple-cuirass-configuration - simple-cuirass-configuration? - (build simple-cuirass-configuration-build - (default 'all)) ;symbol or list of - (channels simple-cuirass-configuration-channels - (default %default-channels)) ;list of - (non-package-channels simple-cuirass-configuration-package-channels - (default '())) ;list of channels name - (systems simple-cuirass-configuration-systems - (default (list (%current-system))))) ;list of strings - -(define* (simple-cuirass-configuration->specs config) - (define (format-name name) - (if (string? name) - name - (symbol->string name))) - - (define (format-manifests build-manifests) - (map (lambda (build-manifest) - (match-record build-manifest - (channel-name manifest) - (cons (format-name channel-name) manifest))) - build-manifests)) - - (define (channel->input channel) - (let ((name (channel-name channel)) - (url (channel-url channel)) - (branch (channel-branch channel))) - `((#:name . ,(format-name name)) - (#:url . ,url) - (#:load-path . ".") - (#:branch . ,branch) - (#:no-compile? #t)))) - - (define (package-path channels non-package-channels) - (filter-map (lambda (channel) - (let ((name (channel-name channel))) - (and (not (member name non-package-channels)) - (not (eq? name 'guix)) - (format-name name)))) - channels)) - - (define (config->spec config) - (match-record config - (build channels non-package-channels systems) - `((#:name . "simple-config") - (#:load-path-inputs . ("guix")) - (#:package-path-inputs . ,(package-path channels - non-package-channels)) - (#:proc-input . "guix") - (#:proc-file . "build-aux/cuirass/gnu-system.scm") - (#:proc . cuirass-jobs) - (#:proc-args . ((systems . ,systems) - ,@(if (eq? build 'all) - '() - `((subset . "manifests") - (manifests . ,(format-manifests build)))))) - (#:inputs . ,(map channel->input channels)) - (#:build-outputs . ()) - (#:priority . 1)))) - - #~(list '#$(config->spec config))) From 207ef1a2b4f6ffd4781d1f5aab8e5984bc515f4c Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 10 Mar 2021 09:37:11 +0100 Subject: [PATCH 0270/1003] tests: cuirass: Remove cuirass simple test. This is a follow-up of 6c883d0f1deacff4fc227a4f925414a3733efc6e. * gnu/tests/cuirass.scm (simple-cuirass-service, %cuirass-simple-test): Remove them. --- gnu/tests/cuirass.scm | 33 +-------------------------------- 1 file changed, 1 insertion(+), 32 deletions(-) diff --git a/gnu/tests/cuirass.scm b/gnu/tests/cuirass.scm index 04a7a71dcf..ea5db34515 100644 --- a/gnu/tests/cuirass.scm +++ b/gnu/tests/cuirass.scm @@ -35,8 +35,7 @@ #:use-module (guix gexp) #:use-module (guix store) #:export (%cuirass-test - %cuirass-remote-test - %cuirass-simple-test)) + %cuirass-remote-test)) (define %derivation-file (scheme-file @@ -298,33 +297,3 @@ (name "cuirass-remote") (description "Connect to a Cuirass server with remote build.") (value (run-cuirass-test name os))))) - -(define simple-cuirass-service - (service cuirass-service-type - (cuirass-configuration - (specifications - (simple-cuirass-configuration->specs - (simple-cuirass-configuration - (build 'all) - (channels - (list (channel - (name 'guix) - (url "file:///tmp/cuirass-main/"))))))) - (host "0.0.0.0") - (use-substitutes? #t)))) - -(define %cuirass-simple-test - (let ((os (operating-system - (inherit %simple-os) - (services - (append - (list cow-service - (service dhcp-client-service-type) - git-service - simple-cuirass-service) - (operating-system-user-services %simple-os)))))) - (system-test - (name "cuirass-simple") - (description "Connect to a simple Cuirass server.") - (value - (run-cuirass-test name os))))) From b66fc0a64bbcf4c198c117f0eca1ee95661b5b4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 09:50:14 +0100 Subject: [PATCH 0271/1003] gnu: bsdiff: Fix CVE-2014-9862. * gnu/packages/patches/bsdiff-CVE-2014-9862.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/compression.scm (bsdiff): Apply it. --- gnu/local.mk | 1 + gnu/packages/compression.scm | 3 ++- gnu/packages/patches/bsdiff-CVE-2014-9862.patch | 15 +++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/bsdiff-CVE-2014-9862.patch diff --git a/gnu/local.mk b/gnu/local.mk index bcee06a97a..dcee722e79 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -840,6 +840,7 @@ dist_patch_DATA = \ %D%/packages/patches/bazaar-CVE-2017-14176.patch \ %D%/packages/patches/bc-fix-cross-compilation.patch \ %D%/packages/patches/bear-disable-preinstall-tests.patch \ + %D%/packages/patches/bsdiff-CVE-2014-9862.patch \ %D%/packages/patches/bsd-games-2.17-64bit.patch \ %D%/packages/patches/bsd-games-add-configure-config.patch \ %D%/packages/patches/bsd-games-add-wrapper.patch \ diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 32fd358ac8..fbe3b06347 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -963,7 +963,8 @@ tarballs.") (uri (string-append home-page name "-" version ".tar.gz")) (sha256 (base32 - "0j2zm3z271x5aw63mwhr3vymzn45p2vvrlrpm9cz2nywna41b0hq")))) + "0j2zm3z271x5aw63mwhr3vymzn45p2vvrlrpm9cz2nywna41b0hq")) + (patches (search-patches "bsdiff-CVE-2014-9862.patch")))) (build-system gnu-build-system) (arguments `(#:make-flags (list "INSTALL=install" diff --git a/gnu/packages/patches/bsdiff-CVE-2014-9862.patch b/gnu/packages/patches/bsdiff-CVE-2014-9862.patch new file mode 100644 index 0000000000..7aab818090 --- /dev/null +++ b/gnu/packages/patches/bsdiff-CVE-2014-9862.patch @@ -0,0 +1,15 @@ +diff --git a/bspatch.c b/bspatch.c +index 8d95633..ab77722 100644 +--- a/bspatch.c ++++ b/bspatch.c + +@@ -187,6 +187,10 @@ + }; + + /* Sanity-check */ ++ if ((ctrl[0] < 0) || (ctrl[1] < 0)) ++ errx(1,"Corrupt patch\n"); ++ ++ /* Sanity-check */ + if(newpos+ctrl[0]>newsize) + errx(1,"Corrupt patch\n"); From f4fd7bda51f26c3ae00c4c8681c344074739df5c Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Tue, 9 Mar 2021 01:25:33 -0500 Subject: [PATCH 0272/1003] gnu: python-nbxmpp: Update to 2.0.2. * gnu/packages/messaging.scm (python-nbxmpp) [version]: Update to 2.0.2. Signed-off-by: Efraim Flashner --- gnu/packages/messaging.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 00e68e48a7..33a0d4fa56 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -932,14 +932,14 @@ simultaneously and therefore appear under the same nickname on IRC.") (define-public python-nbxmpp (package (name "python-nbxmpp") - (version "2.0.1") + (version "2.0.2") (source (origin (method url-fetch) (uri (pypi-uri "nbxmpp" version)) (sha256 - (base32 "0184nklbpzriq081lghsfavw9m8jr5kc45qqy4v4rdnxn64j7njc")))) + (base32 "1482fva70i01w60fk70c0fhqmqgzi1fb4xflllz2v6c8mdqkd1m3")))) (build-system python-build-system) (native-inputs `(("glib:bin" ,glib "bin"))) From e212f32dcefee7522084f7af845be4a9a662e4c7 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 10 Mar 2021 09:45:52 +0100 Subject: [PATCH 0273/1003] gnu: Add aldo. * gnu/packages/radio.scm (aldo): New variable. --- gnu/packages/radio.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 6a48e8746f..e7f3b33cc2 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -68,6 +68,7 @@ #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) #:use-module (gnu packages video) + #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (guix build-system cmake) @@ -1240,3 +1241,30 @@ It can perform as: @item APRStt gateway @end itemize\n") (license license:gpl2+))) + +(define-public aldo + (package + (name "aldo") + (version "0.7.7") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://savannah/aldo/aldo-" version ".tar.bz2")) + (sha256 + (base32 "14lzgldqzbbzydsy1cai3wln3hpyj1yhj8ji3wygyzr616fq9f7i")))) + (build-system gnu-build-system) + (inputs + `(("ao" ,ao))) + (home-page "https://www.nongnu.org/aldo/") + (synopsis "Morse code tutor") + (description + "Aldo is a morse code learning tool providing four type of training +methods: + +@itemize +@item Classic exercice, +@item Koch method, +@item Read from file, +@item Callsign exercice. +@end itemize\n") + (license license:gpl3+))) From b8e71b390d797621f4c6e9b179c38d89bbcfdb1b Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Wed, 10 Mar 2021 10:15:30 +0100 Subject: [PATCH 0274/1003] gnu: Add unixcw. * gnu/packages/radio.scm (unixcw): New variable. --- gnu/packages/radio.scm | 43 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index e7f3b33cc2..b7a546eb53 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -1268,3 +1268,46 @@ methods: @item Callsign exercice. @end itemize\n") (license license:gpl3+))) + +(define-public unixcw + (package + (name "unixcw") + (version "3.6.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/unixcw/unixcw-" + version ".tar.gz")) + (sha256 + (base32 "15wriwv91583kmmyijbzam3dpclzmg4qjyfzjv5f75x9b0gqabxm")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("ncurses" ,ncurses) + ("pulseaudio" ,pulseaudio) + ("qtbase" ,qtbase))) + (arguments + `(#:configure-flags '("--disable-static") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("configure" + "src/config.h.in" + "src/cwcp/Makefile.am" + "src/cwcp/Makefile.in") + (("-lcurses") + "-lncurses")) + (substitute* "src/libcw/libcw_pa.c" + (("libpulse-simple.so" all) + (string-append (assoc-ref inputs "pulseaudio") + "/lib/" all)))))))) + (home-page "http://unixcw.sourceforge.net/") + (synopsis "Morse code library and programs") + (description + "@code{unixcw} is a project providing the libcw library and a set of +programs using the library: cw, cwgen, cwcp and xcwcp. The programs are +intended for people who want to learn receiving and sending morse code.") + (license license:gpl2+))) From f7fdafeff52cb900d76a1de855a5a238aacedd7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 10:55:04 +0100 Subject: [PATCH 0275/1003] gnu: zziplib: Update to 0.13.72 [security fixes]. Non-exhaustively, fixes CVE-2018-16548 and CVE-2018-17828. * gnu/packages/compression.scm (zziplib/fixed): New variable. (zziplib)[replacement]: Graft. --- gnu/packages/compression.scm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index fbe3b06347..571088dcbc 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -87,7 +87,7 @@ #:use-module (gnu packages version-control) #:use-module (gnu packages xml) #:use-module (ice-9 match) - #:use-module ((srfi srfi-1) #:select (last))) + #:use-module (srfi srfi-1)) (define-public zlib (package @@ -1728,6 +1728,7 @@ timestamps in the file header with a fixed time (1 January 2008). (sha256 (base32 "0fbk9k7ryas2wh2ykwkvm1pbi40i88rfvc3dydh9xyd7w2jcki92")))) + (replacement zziplib/fixed) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -1756,6 +1757,27 @@ timestamps in the file header with a fixed time (1 January 2008). ;; files carry the Zlib license; see "docs/copying.html" for details. (license (list license:lgpl2.0+ license:mpl1.1)))) +(define-public zziplib/fixed + (package + (inherit zziplib) + (name "zziplib") + (version "0.13.72") + (home-page "https://github.com/gdraheim/zziplib") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0i6bpa2b13z19alm6ig80364dnin1w28cvif18k6wkkb0w3dzp8y")))) + (arguments `()) + (native-inputs + `(("python" ,python) + ,@(alist-delete "python" + (package-native-inputs zziplib)))) + (build-system cmake-build-system))) + (define-public libzip (package (name "libzip") From 47ce29666b0b66de906dcfebf24776f3e06f1572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 11:17:53 +0100 Subject: [PATCH 0276/1003] gnu: botan: Update to 2.17.3 [fixes CVE-2021-24115]. * gnu/packages/crypto.scm (botan): Update to 2.17.3. [arguments]: Add 'library-path-for-tests phase to fix 'check phase by setting LD_LIBRARY_PATH to intermediate build directory so tests can find libbotan. --- gnu/packages/crypto.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 5c8e4d6b22..0000e7fbf2 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -887,14 +887,14 @@ SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R (define-public botan (package (name "botan") - (version "2.12.1") + (version "2.17.3") (source (origin (method url-fetch) (uri (string-append "https://botan.randombit.net/releases/" "Botan-" version ".tar.xz")) (sha256 (base32 - "1ada3ga7b0z4m0vjmxlvfi4nsic2l8kjcy85jwss3z2i58a5y0vy")))) + "121vn1aryk36cpks70kk4c4cfic5g0qs82bf92xap9258ijkn4kr")))) (build-system gnu-build-system) (arguments '(#:phases @@ -916,6 +916,8 @@ SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R ;; Recommended by upstream "--with-zlib" "--with-bzip2" "--with-sqlite3")))) + (add-before 'check 'library-path-for-tests + (lambda _ (setenv "LD_LIBRARY_PATH" (getcwd)))) (replace 'check (lambda _ (invoke "./botan-test")))))) (native-inputs From e6cd049e2f02811d1a6f264e4bc4e4143a272629 Mon Sep 17 00:00:00 2001 From: Simon South Date: Tue, 9 Mar 2021 09:03:43 -0500 Subject: [PATCH 0277/1003] gnu: sdcc: Update to 4.1.0. * gnu/packages/embedded.scm (sdcc): Update to 4.1.0. * gnu/packages/patches/sdcc-disable-non-free-code.patch: Update to match new version. Signed-off-by: Efraim Flashner --- gnu/packages/embedded.scm | 4 +- .../patches/sdcc-disable-non-free-code.patch | 257 +++++++++--------- 2 files changed, 130 insertions(+), 131 deletions(-) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 51ee244f3c..413760ab72 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -1469,7 +1469,7 @@ and Zilog Z80 families, plus many of their variants.") (define-public sdcc (package (name "sdcc") - (version "4.0.0") + (version "4.1.0") (source (origin (method url-fetch) (uri (string-append @@ -1477,7 +1477,7 @@ and Zilog Z80 families, plus many of their variants.") "/" version "/sdcc-src-" version ".tar.bz2")) (sha256 (base32 - "042fxw5mnsfhpc0z9lxfsw88kdkm32pwrxacp88kj2n2dy0814a8")) + "0gskzli17ghnn5qllvn4d56qf9bvvclqjh63nnj63p52smvggvc1")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/patches/sdcc-disable-non-free-code.patch b/gnu/packages/patches/sdcc-disable-non-free-code.patch index ad9a3e7a9e..1c823c3c18 100644 --- a/gnu/packages/patches/sdcc-disable-non-free-code.patch +++ b/gnu/packages/patches/sdcc-disable-non-free-code.patch @@ -15,10 +15,10 @@ remove instructions that encourage the use of SDCC with non-free software. diff --git a/Makefile.common.in b/Makefile.common.in -index 412fd5a..81bbd61 100644 +index 926b761..0362fd5 100644 --- a/Makefile.common.in +++ b/Makefile.common.in -@@ -69,7 +69,6 @@ OPT_DISABLE_PACKIHX = @OPT_DISABLE_PACKIHX@ +@@ -71,7 +71,6 @@ OPT_DISABLE_PACKIHX = @OPT_DISABLE_PACKIHX@ OPT_DISABLE_SDBINUTILS = @OPT_DISABLE_SDBINUTILS@ OPT_DISABLE_SDCPP = @OPT_DISABLE_SDCPP@ OPT_DISABLE_UCSIM = @OPT_DISABLE_UCSIM@ @@ -27,7 +27,7 @@ index 412fd5a..81bbd61 100644 SLIB = $(top_builddir)/support/util diff --git a/Makefile.in b/Makefile.in -index f3b028d..cfdf06d 100644 +index 5485074..3071472 100644 --- a/Makefile.in +++ b/Makefile.in @@ -100,9 +100,6 @@ endif @@ -73,7 +73,7 @@ index f3b028d..cfdf06d 100644 # doc depends on latex and latex2html diff --git a/configure b/configure -index 43ccb6f..d345f54 100755 +index 4c2226b..b8a9251 100755 --- a/configure +++ b/configure @@ -632,7 +632,6 @@ LATEX @@ -84,7 +84,7 @@ index 43ccb6f..d345f54 100755 OPT_DISABLE_SDBINUTILS OPT_DISABLE_SDCDB OPT_DISABLE_SDCPP -@@ -659,10 +658,7 @@ OPT_DISABLE_R2K +@@ -661,10 +660,7 @@ OPT_DISABLE_R2K OPT_DISABLE_Z180 OPT_DISABLE_Z80 OPT_DISABLE_MCS51 @@ -95,7 +95,7 @@ index 43ccb6f..d345f54 100755 include_dir_suffix inclib_dir_suffix LIB_TYPE -@@ -780,7 +776,6 @@ enable_packihx +@@ -785,7 +781,6 @@ enable_packihx enable_sdcpp enable_sdcdb enable_sdbinutils @@ -103,7 +103,7 @@ index 43ccb6f..d345f54 100755 enable_doc enable_libgc ' -@@ -801,10 +796,7 @@ sdccconf_h_dir_separator +@@ -806,10 +801,7 @@ sdccconf_h_dir_separator LIB_TYPE inclib_dir_suffix include_dir_suffix @@ -114,7 +114,7 @@ index 43ccb6f..d345f54 100755 docdir' ac_subdirs_all='support/cpp support/packihx -@@ -812,9 +804,7 @@ sim/ucsim +@@ -817,9 +809,7 @@ sim/ucsim debugger/mcs51 support/sdbinutils device/lib/pic14 @@ -125,7 +125,7 @@ index 43ccb6f..d345f54 100755 # Initialize some variables set by options. ac_init_help= -@@ -1455,7 +1445,6 @@ Optional Features: +@@ -1473,7 +1463,6 @@ Optional Features: --disable-sdcpp Disables building sdcpp --disable-sdcdb Disables building sdcdb --disable-sdbinutils Disables configuring and building of sdbinutils @@ -133,7 +133,7 @@ index 43ccb6f..d345f54 100755 --enable-doc Enables building the documentation --enable-libgc Use the Bohem memory allocator. Lower runtime footprint. -@@ -1484,16 +1473,8 @@ Some influential environment variables: +@@ -1502,16 +1491,8 @@ Some influential environment variables: appended to datadir to define SDCC's include/lib directory include_dir_suffix appended to datadir to define SDCC's include directory @@ -150,7 +150,7 @@ index 43ccb6f..d345f54 100755 docdir documentation installation directory Use these variables to override the choices made by `configure' or to help -@@ -7134,19 +7115,6 @@ if test "${include_dir_suffix}" = ""; then +@@ -7156,19 +7137,6 @@ if test "${include_dir_suffix}" = ""; then include_dir_suffix="${inclib_dir_suffix}/include" fi @@ -170,7 +170,7 @@ index 43ccb6f..d345f54 100755 # lib_dir_suffix: # *nix default: "sdcc/lib" -@@ -7154,13 +7122,6 @@ if test "${lib_dir_suffix}" = ""; then +@@ -7176,13 +7144,6 @@ if test "${lib_dir_suffix}" = ""; then lib_dir_suffix="${inclib_dir_suffix}/lib" fi @@ -184,7 +184,7 @@ index 43ccb6f..d345f54 100755 # docdir: # *nix default: "${datadir}/sdcc/doc" -@@ -7327,24 +7288,6 @@ cat >>confdefs.h <<_ACEOF +@@ -7349,24 +7310,6 @@ cat >>confdefs.h <<_ACEOF #define INCLUDE_DIR_SUFFIX DIR_SEPARATOR_STRING "${norm_inc_dir_suffix}" _ACEOF @@ -209,7 +209,7 @@ index 43ccb6f..d345f54 100755 norm_lib_dir_suffix=${lib_dir_suffix} case ":$norm_lib_dir_suffix:" in -@@ -7364,24 +7307,6 @@ cat >>confdefs.h <<_ACEOF +@@ -7386,24 +7329,6 @@ cat >>confdefs.h <<_ACEOF #define LIB_DIR_SUFFIX DIR_SEPARATOR_STRING "${norm_lib_dir_suffix}" _ACEOF @@ -234,7 +234,7 @@ index 43ccb6f..d345f54 100755 # relative paths for _lcl_i in expanded_bindir:expanded_datadir:bin2data_dir; do -@@ -8439,28 +8364,6 @@ _ACEOF +@@ -8513,28 +8438,6 @@ _ACEOF @@ -263,7 +263,7 @@ index 43ccb6f..d345f54 100755 # Check whether --enable-doc was given. if test "${enable_doc+set}" = set; then : -@@ -8855,20 +8758,12 @@ if test $OPT_DISABLE_PIC14 = 0; then +@@ -8929,20 +8832,12 @@ if test $OPT_DISABLE_PIC14 = 0; then test $OPT_DISABLE_DEVICE_LIB = 0 && subdirs="$subdirs device/lib/pic14" @@ -283,8 +283,8 @@ index 43ccb6f..d345f54 100755 - fi - if test $OPT_DISABLE_Z80 = 0 || test $OPT_DISABLE_Z180 = 0 || test $OPT_DISABLE_R2K = 0 || test $OPT_DISABLE_R3KA = 0 || test $OPT_DISABLE_GBZ80 = 0 || test $OPT_DISABLE_TLCS90 = 0 || test $OPT_DISABLE_EZ80_Z80 = 0; then -@@ -8945,15 +8840,9 @@ fi + if test $OPT_DISABLE_Z80 = 0 || test $OPT_DISABLE_Z180 = 0 || test $OPT_DISABLE_R2K = 0 || test $OPT_DISABLE_R2KA = 0 || test $OPT_DISABLE_R3KA = 0 || test $OPT_DISABLE_GBZ80 = 0 || test $OPT_DISABLE_TLCS90 = 0 || test $OPT_DISABLE_EZ80_Z80 = 0 || test $OPT_DISABLE_Z80N = 0; then +@@ -9019,15 +8914,9 @@ fi test $OPT_DISABLE_DEVICE_LIB = 0 && ac_config_files="$ac_config_files device/lib/Makefile" @@ -300,7 +300,7 @@ index 43ccb6f..d345f54 100755 cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure -@@ -9692,7 +9581,6 @@ do +@@ -9768,7 +9657,6 @@ do "device/lib/pdk15-stack-auto/Makefile") CONFIG_FILES="$CONFIG_FILES device/lib/pdk15-stack-auto/Makefile" ;; "sdas/aspdk16/Makefile") CONFIG_FILES="$CONFIG_FILES sdas/aspdk16/Makefile" ;; "device/lib/Makefile") CONFIG_FILES="$CONFIG_FILES device/lib/Makefile" ;; @@ -308,7 +308,7 @@ index 43ccb6f..d345f54 100755 "main.mk") CONFIG_FILES="$CONFIG_FILES main.mk:main_in.mk" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "device/include/Makefile") CONFIG_FILES="$CONFIG_FILES device/include/Makefile" ;; -@@ -9704,7 +9592,6 @@ do +@@ -9780,7 +9668,6 @@ do "support/regression/ports/host/spec.mk") CONFIG_FILES="$CONFIG_FILES support/regression/ports/host/spec.mk:support/regression/ports/host/spec.mk.in" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "Makefile.common") CONFIG_FILES="$CONFIG_FILES Makefile.common:Makefile.common.in" ;; @@ -316,7 +316,7 @@ index 43ccb6f..d345f54 100755 *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac -@@ -10513,54 +10400,6 @@ esac +@@ -10589,54 +10476,6 @@ esac incPath3=`echo "$incPath3" | sed 's,\\\\\\\\,\\\\,g'` @@ -371,7 +371,7 @@ index 43ccb6f..d345f54 100755 libPath1=`echo "/${prefix2data_dir}/${norm_lib_dir_suffix}" | sed 's,/\./,/,g'` case ":$libPath1:" in -@@ -10610,54 +10449,6 @@ esac +@@ -10686,54 +10525,6 @@ esac libPath3=`echo "$libPath3" | sed 's,\\\\\\\\,\\\\,g'` @@ -426,7 +426,7 @@ index 43ccb6f..d345f54 100755 { $as_echo "$as_me:${as_lineno-$LINENO}: result: sdcc ${VERSION} is now configured for -@@ -10694,7 +10485,6 @@ sdcc ${VERSION} is now configured for +@@ -10772,7 +10563,6 @@ sdcc ${VERSION} is now configured for pdk15 ${enable_pdk15_port} pdk16 ${enable_pdk16_port} @@ -434,7 +434,7 @@ index 43ccb6f..d345f54 100755 Disable packihx: ${OPT_DISABLE_PACKIHX} Disable ucsim: ${OPT_DISABLE_UCSIM} Disable device lib: ${OPT_DISABLE_DEVICE_LIB} -@@ -10709,9 +10499,6 @@ sdcc ${VERSION} is now configured for +@@ -10787,9 +10577,6 @@ sdcc ${VERSION} is now configured for include/library files: ${datadir}/${inclib_dir_suffix} include files: ${datadir}/${include_dir_suffix} library files: ${datadir}/${lib_dir_suffix} @@ -444,7 +444,7 @@ index 43ccb6f..d345f54 100755 documentation: ${docdir} prefix: ${prefix} -@@ -10723,15 +10510,9 @@ sdcc ${VERSION} is now configured for +@@ -10801,15 +10588,9 @@ sdcc ${VERSION} is now configured for include files: ${incPath1} path(argv[0])${incPath2} ${incPath3} @@ -460,7 +460,7 @@ index 43ccb6f..d345f54 100755 " >&5 $as_echo " sdcc ${VERSION} is now configured for -@@ -10769,7 +10550,6 @@ sdcc ${VERSION} is now configured for +@@ -10849,7 +10630,6 @@ sdcc ${VERSION} is now configured for pdk15 ${enable_pdk15_port} pdk16 ${enable_pdk16_port} @@ -468,7 +468,7 @@ index 43ccb6f..d345f54 100755 Disable packihx: ${OPT_DISABLE_PACKIHX} Disable ucsim: ${OPT_DISABLE_UCSIM} Disable device lib: ${OPT_DISABLE_DEVICE_LIB} -@@ -10784,9 +10564,6 @@ sdcc ${VERSION} is now configured for +@@ -10864,9 +10644,6 @@ sdcc ${VERSION} is now configured for include/library files: ${datadir}/${inclib_dir_suffix} include files: ${datadir}/${include_dir_suffix} library files: ${datadir}/${lib_dir_suffix} @@ -478,7 +478,7 @@ index 43ccb6f..d345f54 100755 documentation: ${docdir} prefix: ${prefix} -@@ -10798,14 +10575,8 @@ sdcc ${VERSION} is now configured for +@@ -10878,14 +10655,8 @@ sdcc ${VERSION} is now configured for include files: ${incPath1} path(argv[0])${incPath2} ${incPath3} @@ -494,10 +494,10 @@ index 43ccb6f..d345f54 100755 " >&6; } # End of configure/configure.in diff --git a/configure.ac b/configure.ac -index 2185793..76ab155 100644 +index 455fee1..48e0a20 100644 --- a/configure.ac +++ b/configure.ac -@@ -544,19 +544,6 @@ if test "${include_dir_suffix}" = ""; then +@@ -548,19 +548,6 @@ if test "${include_dir_suffix}" = ""; then include_dir_suffix="${inclib_dir_suffix}/include" fi @@ -517,7 +517,7 @@ index 2185793..76ab155 100644 # lib_dir_suffix: # *nix default: "sdcc/lib" AC_ARG_VAR([lib_dir_suffix], [appended to datadir to define SDCC's library root directory]) -@@ -564,13 +551,6 @@ if test "${lib_dir_suffix}" = ""; then +@@ -568,13 +555,6 @@ if test "${lib_dir_suffix}" = ""; then lib_dir_suffix="${inclib_dir_suffix}/lib" fi @@ -531,7 +531,7 @@ index 2185793..76ab155 100644 # docdir: # *nix default: "${datadir}/sdcc/doc" AC_ARG_VAR([docdir], [documentation installation directory]) -@@ -611,19 +591,11 @@ norm_inc_dir_suffix=${include_dir_suffix} +@@ -615,19 +595,11 @@ norm_inc_dir_suffix=${include_dir_suffix} adl_NORMALIZE_PATH([norm_inc_dir_suffix], [$sdccconf_h_dir_separator]) AC_DEFINE_UNQUOTED(INCLUDE_DIR_SUFFIX, DIR_SEPARATOR_STRING "${norm_inc_dir_suffix}", [XXX]) @@ -551,7 +551,7 @@ index 2185793..76ab155 100644 # relative paths adl_COMPUTE_RELATIVE_PATHS([expanded_bindir:expanded_datadir:bin2data_dir]) -@@ -797,7 +769,6 @@ AC_DO_DISABLER(packihx, PACKIHX, [Disables building packihx]) +@@ -803,7 +775,6 @@ AC_DO_DISABLER(packihx, PACKIHX, [Disables building packihx]) AC_DO_DISABLER(sdcpp, SDCPP, [Disables building sdcpp]) AC_DO_DISABLER(sdcdb, SDCDB, [Disables building sdcdb]) AC_DO_DISABLER(sdbinutils, SDBINUTILS, [Disables configuring and building of sdbinutils]) @@ -559,7 +559,7 @@ index 2185793..76ab155 100644 AC_DO_ENABLER(doc, DOC, [Enables building the documentation]) AC_CHECK_PROG([LYX], [lyx], [lyx], [:]) -@@ -868,16 +839,10 @@ if test $OPT_DISABLE_PIC14 = 0; then +@@ -874,16 +845,10 @@ if test $OPT_DISABLE_PIC14 = 0; then AC_CONFIG_FILES(src/pic14/Makefile) test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_SUBDIRS(device/lib/pic14) fi @@ -574,9 +574,9 @@ index 2185793..76ab155 100644 - test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_SUBDIRS(device/non-free/lib/pic16) -fi - if test $OPT_DISABLE_Z80 = 0 || test $OPT_DISABLE_Z180 = 0 || test $OPT_DISABLE_R2K = 0 || test $OPT_DISABLE_R3KA = 0 || test $OPT_DISABLE_GBZ80 = 0 || test $OPT_DISABLE_TLCS90 = 0 || test $OPT_DISABLE_EZ80_Z80 = 0; then + if test $OPT_DISABLE_Z80 = 0 || test $OPT_DISABLE_Z180 = 0 || test $OPT_DISABLE_R2K = 0 || test $OPT_DISABLE_R2KA = 0 || test $OPT_DISABLE_R3KA = 0 || test $OPT_DISABLE_GBZ80 = 0 || test $OPT_DISABLE_TLCS90 = 0 || test $OPT_DISABLE_EZ80_Z80 = 0 || test $OPT_DISABLE_Z80N = 0; then AC_CONFIG_FILES([src/z80/Makefile]) -@@ -939,7 +904,6 @@ fi +@@ -947,7 +912,6 @@ fi test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_FILES([device/lib/Makefile]) @@ -584,7 +584,7 @@ index 2185793..76ab155 100644 AC_CONFIG_FILES([main.mk:main_in.mk src/Makefile -@@ -953,9 +917,6 @@ support/regression/ports/host/spec.mk:support/regression/ports/host/spec.mk.in +@@ -961,9 +925,6 @@ support/regression/ports/host/spec.mk:support/regression/ports/host/spec.mk.in Makefile Makefile.common:Makefile.common.in ]) @@ -594,7 +594,7 @@ index 2185793..76ab155 100644 AC_OUTPUT # I found no better place -@@ -973,16 +934,10 @@ adl_NORMALIZE_PATH_MSG(/${prefix2bin_dir}, [binPath], [ +@@ -981,16 +942,10 @@ adl_NORMALIZE_PATH_MSG(/${prefix2bin_dir}, [binPath], [ adl_NORMALIZE_PATH_MSG(/${prefix2data_dir}/${norm_inc_dir_suffix}, [incPath1], [$dirch]) adl_NORMALIZE_PATH_MSG(/${bin2data_dir}/${norm_inc_dir_suffix}, [incPath2], [$dirch]) adl_NORMALIZE_PATH_MSG(${expanded_datadir}/${norm_inc_dir_suffix}, [incPath3], [$dirch]) @@ -611,7 +611,7 @@ index 2185793..76ab155 100644 AC_MSG_RESULT([ sdcc ${VERSION} is now configured for -@@ -1020,7 +975,6 @@ sdcc ${VERSION} is now configured for +@@ -1030,7 +985,6 @@ sdcc ${VERSION} is now configured for pdk15 ${enable_pdk15_port} pdk16 ${enable_pdk16_port} @@ -619,7 +619,7 @@ index 2185793..76ab155 100644 Disable packihx: ${OPT_DISABLE_PACKIHX} Disable ucsim: ${OPT_DISABLE_UCSIM} Disable device lib: ${OPT_DISABLE_DEVICE_LIB} -@@ -1035,9 +989,6 @@ sdcc ${VERSION} is now configured for +@@ -1045,9 +999,6 @@ sdcc ${VERSION} is now configured for include/library files: ${datadir}/${inclib_dir_suffix} include files: ${datadir}/${include_dir_suffix} library files: ${datadir}/${lib_dir_suffix} @@ -629,7 +629,7 @@ index 2185793..76ab155 100644 documentation: ${docdir} prefix: ${prefix} -@@ -1049,14 +1000,8 @@ sdcc ${VERSION} is now configured for +@@ -1059,14 +1010,8 @@ sdcc ${VERSION} is now configured for include files: ${incPath1} path(argv[[0]])${incPath2} ${incPath3} @@ -675,7 +675,7 @@ index 019fe0f..da3389d 100644 ############################################################ # Common actions diff --git a/device/lib/pic14/Makefile.in b/device/lib/pic14/Makefile.in -index 39b6cb0..ae3e37b 100644 +index 039c0cb..90510fd 100644 --- a/device/lib/pic14/Makefile.in +++ b/device/lib/pic14/Makefile.in @@ -335,13 +335,12 @@ GENERIC_SRC_DIR_ABS = $(abspath $(GENERIC_SRC_DIR)) @@ -704,7 +704,7 @@ index 39b6cb0..ae3e37b 100644 # extensions generated by the build process CLEAN_EXTENSIONS = .asm .lst .sym .d .p .g .v .adb diff --git a/device/lib/pic14/libc/Makefile.in b/device/lib/pic14/libc/Makefile.in -index 0efeeb0..d4dd8e6 100644 +index 1283cbb..70e82d0 100644 --- a/device/lib/pic14/libc/Makefile.in +++ b/device/lib/pic14/libc/Makefile.in @@ -878,13 +878,12 @@ GENERIC_SRC_DIR_ABS = $(abspath $(GENERIC_SRC_DIR)) @@ -733,7 +733,7 @@ index 0efeeb0..d4dd8e6 100644 # extensions generated by the build process CLEAN_EXTENSIONS = .asm .lst .sym .d .p .g .v .adb diff --git a/device/lib/pic14/libm/Makefile.in b/device/lib/pic14/libm/Makefile.in -index f0dc9ca..98ed2cf 100644 +index 409835d..e9fdef8 100644 --- a/device/lib/pic14/libm/Makefile.in +++ b/device/lib/pic14/libm/Makefile.in @@ -511,13 +511,12 @@ GENERIC_SRC_DIR_ABS = $(abspath $(GENERIC_SRC_DIR)) @@ -762,7 +762,7 @@ index f0dc9ca..98ed2cf 100644 # extensions generated by the build process CLEAN_EXTENSIONS = .asm .lst .sym .d .p .g .v .adb diff --git a/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in b/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in -index 098ec94..d1240ba 100644 +index c82f7ba..780fa77 100644 --- a/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in +++ b/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in @@ -518,13 +518,12 @@ GENERIC_SRC_DIR_ABS = $(abspath $(GENERIC_SRC_DIR)) @@ -791,7 +791,7 @@ index 098ec94..d1240ba 100644 # extensions generated by the build process CLEAN_EXTENSIONS = .asm .lst .sym .d .p .g .v .adb diff --git a/device/lib/pic14/libsdcc/enhanced/Makefile.in b/device/lib/pic14/libsdcc/enhanced/Makefile.in -index d2dba9c..0857601 100644 +index 33b8299..f4e0398 100644 --- a/device/lib/pic14/libsdcc/enhanced/Makefile.in +++ b/device/lib/pic14/libsdcc/enhanced/Makefile.in @@ -518,13 +518,12 @@ GENERIC_SRC_DIR_ABS = $(abspath $(GENERIC_SRC_DIR)) @@ -820,7 +820,7 @@ index d2dba9c..0857601 100644 # extensions generated by the build process CLEAN_EXTENSIONS = .asm .lst .sym .d .p .g .v .adb diff --git a/device/lib/pic14/libsdcc/regular/Makefile.in b/device/lib/pic14/libsdcc/regular/Makefile.in -index 3c9bccd..9430fb5 100644 +index 6586b7d..7010287 100644 --- a/device/lib/pic14/libsdcc/regular/Makefile.in +++ b/device/lib/pic14/libsdcc/regular/Makefile.in @@ -511,13 +511,12 @@ GENERIC_SRC_DIR_ABS = $(abspath $(GENERIC_SRC_DIR)) @@ -875,7 +875,7 @@ index 01ad950..62839b9 100644 clean-local: diff --git a/device/lib/pic16/Makefile.in b/device/lib/pic16/Makefile.in -index 15d2e1d..9664ad4 100644 +index e4e3abb..730066b 100644 --- a/device/lib/pic16/Makefile.in +++ b/device/lib/pic16/Makefile.in @@ -87,10 +87,7 @@ PRE_UNINSTALL = : @@ -915,7 +915,7 @@ index 15d2e1d..9664ad4 100644 all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive diff --git a/device/lib/pic16/configure b/device/lib/pic16/configure -index c8f5b98..76f93a8 100755 +index ed8ad06..65baa93 100755 --- a/device/lib/pic16/configure +++ b/device/lib/pic16/configure @@ -3657,7 +3657,6 @@ fi @@ -942,7 +942,7 @@ index 3966c11..cdbffc7 100644 # Checks for header files. diff --git a/device/lib/pic16/debug/Makefile.in b/device/lib/pic16/debug/Makefile.in -index df593e3..8cb5137 100644 +index 8d5eb80..9dd8bb2 100644 --- a/device/lib/pic16/debug/Makefile.in +++ b/device/lib/pic16/debug/Makefile.in @@ -88,10 +88,7 @@ PRE_UNINSTALL = : @@ -982,7 +982,7 @@ index df593e3..8cb5137 100644 .SUFFIXES: diff --git a/device/lib/pic16/libc/Makefile.in b/device/lib/pic16/libc/Makefile.in -index 85bec90..c0ea488 100644 +index 659db72..cbb73bf 100644 --- a/device/lib/pic16/libc/Makefile.in +++ b/device/lib/pic16/libc/Makefile.in @@ -88,10 +88,7 @@ PRE_UNINSTALL = : @@ -1022,7 +1022,7 @@ index 85bec90..c0ea488 100644 .SUFFIXES: diff --git a/device/lib/pic16/libio/Makefile.in b/device/lib/pic16/libio/Makefile.in -index 06fff29..78fe388 100644 +index 128ffcc..b298c7c 100644 --- a/device/lib/pic16/libio/Makefile.in +++ b/device/lib/pic16/libio/Makefile.in @@ -481,10 +481,7 @@ POST_UNINSTALL = : @@ -1107,7 +1107,7 @@ index 211604e..e8896bf 100755 include \$(top_srcdir)/Makefile.common diff --git a/device/lib/pic16/libm/Makefile.in b/device/lib/pic16/libm/Makefile.in -index 6728a39..495459e 100644 +index af29662..05f1c24 100644 --- a/device/lib/pic16/libm/Makefile.in +++ b/device/lib/pic16/libm/Makefile.in @@ -88,10 +88,7 @@ PRE_UNINSTALL = : @@ -1147,7 +1147,7 @@ index 6728a39..495459e 100644 .SUFFIXES: diff --git a/device/lib/pic16/libsdcc/Makefile.in b/device/lib/pic16/libsdcc/Makefile.in -index 331aea0..63565be 100644 +index d384631..01129e3 100644 --- a/device/lib/pic16/libsdcc/Makefile.in +++ b/device/lib/pic16/libsdcc/Makefile.in @@ -88,10 +88,7 @@ PRE_UNINSTALL = : @@ -1187,7 +1187,7 @@ index 331aea0..63565be 100644 .SUFFIXES: diff --git a/device/lib/pic16/startup/Makefile.in b/device/lib/pic16/startup/Makefile.in -index 2e59220..b213866 100644 +index 6169096..0172a25 100644 --- a/device/lib/pic16/startup/Makefile.in +++ b/device/lib/pic16/startup/Makefile.in @@ -89,10 +89,7 @@ PRE_UNINSTALL = : @@ -1227,7 +1227,7 @@ index 2e59220..b213866 100644 .SUFFIXES: diff --git a/doc/INSTALL.txt b/doc/INSTALL.txt -index 76a6f42..0f92463 100644 +index d630b99..8cd747f 100644 --- a/doc/INSTALL.txt +++ b/doc/INSTALL.txt @@ -18,9 +18,7 @@ To install: @@ -1279,7 +1279,7 @@ index 88f8c98..a36db81 100644 See: diff --git a/doc/sdccman.lyx b/doc/sdccman.lyx -index d18a509..b95bf61 100644 +index c8f8e73..e4afb0c 100644 --- a/doc/sdccman.lyx +++ b/doc/sdccman.lyx @@ -1092,54 +1092,9 @@ A possible exception are pic device libraries and header files which are @@ -1340,7 +1340,7 @@ index d18a509..b95bf61 100644 \end_layout \begin_layout Itemize -@@ -2870,18 +2825,6 @@ include_dir_suffix environment variable, see table below +@@ -2890,18 +2845,6 @@ include_dir_suffix environment variable, see table below \end_inset @@ -1359,7 +1359,7 @@ index d18a509..b95bf61 100644 \begin_inset space ~ \end_inset -@@ -2894,22 +2837,6 @@ lib_dir_suffix environment variable, see table below +@@ -2914,22 +2857,6 @@ lib_dir_suffix environment variable, see table below \end_inset @@ -1382,7 +1382,7 @@ index d18a509..b95bf61 100644 \begin_inset space ~ \end_inset -@@ -3408,7 +3335,7 @@ These defaults are: +@@ -3428,7 +3355,7 @@ These defaults are: \begin_layout Standard \align center \begin_inset Tabular @@ -1391,7 +1391,7 @@ index d18a509..b95bf61 100644 -@@ -3692,68 +3619,6 @@ sdcc/include +@@ -3712,68 +3639,6 @@ sdcc/include include \end_layout @@ -1460,7 +1460,7 @@ index d18a509..b95bf61 100644 \end_inset -@@ -3764,7 +3629,7 @@ lib +@@ -3784,7 +3649,7 @@ lib \begin_layout Plain Layout \emph on @@ -1469,7 +1469,7 @@ index d18a509..b95bf61 100644 \end_layout \end_inset -@@ -3773,7 +3638,7 @@ NON_FREE_LIB_DIR_SUFFIX +@@ -3793,7 +3658,7 @@ NON_FREE_LIB_DIR_SUFFIX \begin_inset Text \begin_layout Plain Layout @@ -1478,7 +1478,7 @@ index d18a509..b95bf61 100644 \end_layout \end_inset -@@ -3782,7 +3647,7 @@ sdcc/non-free/lib +@@ -3802,7 +3667,7 @@ sdcc/non-free/lib \begin_inset Text \begin_layout Plain Layout @@ -1487,7 +1487,7 @@ index d18a509..b95bf61 100644 \end_layout \end_inset -@@ -4181,20 +4046,6 @@ include +@@ -4201,20 +4066,6 @@ include \end_inset @@ -1508,7 +1508,7 @@ index d18a509..b95bf61 100644 \backslash \begin_inset Newline newline -@@ -4209,20 +4060,6 @@ lib +@@ -4229,20 +4080,6 @@ lib \end_inset @@ -1529,7 +1529,7 @@ index d18a509..b95bf61 100644 \backslash \begin_inset Newline newline -@@ -4403,20 +4240,6 @@ include +@@ -4423,20 +4260,6 @@ include \end_inset @@ -1550,7 +1550,7 @@ index d18a509..b95bf61 100644 \backslash \begin_inset Newline newline -@@ -4431,20 +4254,6 @@ lib +@@ -4451,20 +4274,6 @@ lib \end_inset @@ -1571,7 +1571,7 @@ index d18a509..b95bf61 100644 \backslash \begin_inset Newline newline -@@ -4541,7 +4350,7 @@ Install paths +@@ -4561,7 +4370,7 @@ Install paths \begin_layout Standard \align center \begin_inset Tabular @@ -1580,7 +1580,7 @@ index d18a509..b95bf61 100644 -@@ -4697,64 +4506,6 @@ include +@@ -4717,64 +4526,6 @@ include \begin_inset Text @@ -1645,7 +1645,7 @@ index d18a509..b95bf61 100644 \begin_layout Plain Layout Library file** \end_layout -@@ -4804,64 +4555,6 @@ sdcc +@@ -4824,64 +4575,6 @@ sdcc lib \end_layout @@ -1710,7 +1710,7 @@ index d18a509..b95bf61 100644 \end_inset -@@ -5184,7 +4877,7 @@ $PATH +@@ -5204,7 +4897,7 @@ $PATH \begin_layout Standard \align center \begin_inset Tabular @@ -1719,7 +1719,7 @@ index d18a509..b95bf61 100644 -@@ -5462,203 +5155,13 @@ include +@@ -5482,203 +5175,13 @@ include @@ -1924,7 +1924,7 @@ index d18a509..b95bf61 100644 \end_inset -@@ -5674,21 +5177,13 @@ $DATADIR/ +@@ -5694,21 +5197,13 @@ $DATADIR/ \end_inset @@ -1947,7 +1947,7 @@ index d18a509..b95bf61 100644 \begin_inset Text \begin_layout Plain Layout -@@ -5696,7 +5191,7 @@ $INCLUDE_DIR_SUFFIX +@@ -5716,7 +5211,7 @@ $INCLUDE_DIR_SUFFIX \begin_inset Newline newline \end_inset @@ -1956,7 +1956,7 @@ index d18a509..b95bf61 100644 \end_layout \end_inset -@@ -5794,7 +5289,7 @@ model +@@ -5814,7 +5309,7 @@ model \begin_layout Standard \align center \begin_inset Tabular @@ -1965,7 +1965,7 @@ index d18a509..b95bf61 100644 -@@ -6074,7 +5569,7 @@ lib +@@ -6094,7 +5589,7 @@ lib @@ -1974,7 +1974,7 @@ index d18a509..b95bf61 100644 \begin_inset Text \begin_layout Plain Layout -@@ -6083,7 +5578,7 @@ lib +@@ -6103,7 +5598,7 @@ lib \end_inset @@ -1983,7 +1983,7 @@ index d18a509..b95bf61 100644 \begin_inset Text \begin_layout Plain Layout -@@ -6114,7 +5609,7 @@ $LIB_DIR_SUFFIX/ +@@ -6134,7 +5629,7 @@ $LIB_DIR_SUFFIX/ \end_inset @@ -1992,7 +1992,7 @@ index d18a509..b95bf61 100644 \begin_inset Text \begin_layout Plain Layout -@@ -6129,7 +5624,7 @@ lib/ +@@ -6149,7 +5644,7 @@ lib/ \end_inset @@ -2001,7 +2001,7 @@ index d18a509..b95bf61 100644 \begin_inset Text \begin_layout Plain Layout -@@ -6152,308 +5647,6 @@ lib +@@ -6172,308 +5667,6 @@ lib \end_layout @@ -2310,7 +2310,7 @@ index d18a509..b95bf61 100644 \end_inset -@@ -8717,14 +7910,6 @@ In /share/sdcc/include +@@ -8737,14 +7930,6 @@ In /share/sdcc/include the include files \end_layout @@ -2325,7 +2325,7 @@ index d18a509..b95bf61 100644 \begin_layout Standard In /share/sdcc/lib \end_layout -@@ -8733,14 +7918,6 @@ In /share/sdcc/lib +@@ -8753,14 +7938,6 @@ In /share/sdcc/lib the src and target subdirectories with the precompiled relocatables. \end_layout @@ -2340,7 +2340,7 @@ index d18a509..b95bf61 100644 \begin_layout Standard In /share/sdcc/doc \end_layout -@@ -15254,66 +14431,6 @@ splint +@@ -15274,66 +14451,6 @@ splint myprogram.c \end_layout @@ -2407,7 +2407,7 @@ index d18a509..b95bf61 100644 \begin_layout Subsection Linker Options \begin_inset Index idx -@@ -44656,66 +43773,9 @@ http://sourceforge.net/projects/gputils +@@ -44653,66 +43770,9 @@ http://sourceforge.net/projects/gputils Pic device specific header and c source files are automatically generated from MPLAB include files, which are published by Microchip with a special requirement that they are only to be used with authentic Microchip devices. @@ -2477,7 +2477,7 @@ index d18a509..b95bf61 100644 \begin_inset Newline newline \end_inset -@@ -44769,7 +43829,7 @@ Makefile +@@ -44766,7 +43826,7 @@ Makefile \begin_inset space ~ \end_inset @@ -2486,7 +2486,7 @@ index d18a509..b95bf61 100644 \begin_inset Newline newline \end_inset -@@ -44863,7 +43923,7 @@ Makefile +@@ -44860,7 +43920,7 @@ Makefile \begin_inset space ~ \end_inset @@ -2495,7 +2495,7 @@ index d18a509..b95bf61 100644 \begin_inset Newline newline \end_inset -@@ -45145,47 +44205,6 @@ status collapsed +@@ -45142,47 +44202,6 @@ status collapsed \begin_layout Plain Layout @@ -2543,7 +2543,7 @@ index d18a509..b95bf61 100644 \backslash / \end_layout -@@ -46058,47 +45077,6 @@ status collapsed +@@ -46055,47 +45074,6 @@ status collapsed -all-callee-saves \end_layout @@ -2591,7 +2591,7 @@ index d18a509..b95bf61 100644 \begin_layout Subsection Port Specific Options \begin_inset Index idx -@@ -47375,188 +46353,6 @@ Linker +@@ -47372,188 +46350,6 @@ Linker \end_inset @@ -2780,7 +2780,7 @@ index d18a509..b95bf61 100644 \end_layout \begin_layout Subsection -@@ -48252,66 +47048,9 @@ name "subsec:PIC16_Header-Files-and-Libraries" +@@ -48249,66 +47045,9 @@ name "subsec:PIC16_Header-Files-and-Libraries" Pic device specific header and c source files are automatically generated from MPLAB include files, which are published by Microchip with a special requirement that they are only to be used with authentic Microchip devices. @@ -2850,7 +2850,7 @@ index d18a509..b95bf61 100644 \end_layout \begin_layout Subsection -@@ -48557,195 +47296,6 @@ vfprintf.c +@@ -48554,195 +47293,6 @@ vfprintf.c should also work, but is untested. \end_layout @@ -3046,7 +3046,7 @@ index d18a509..b95bf61 100644 \begin_layout Subsection Memory Models \end_layout -@@ -73531,6 +72081,12 @@ This document was initially written by Sandeep Dutta and updated by SDCC +@@ -73528,6 +72078,12 @@ This document was initially written by Sandeep Dutta and updated by SDCC developers. \end_layout @@ -3060,10 +3060,10 @@ index d18a509..b95bf61 100644 All product names mentioned herein may be trademarks \begin_inset Index idx diff --git a/sdcc.spec b/sdcc.spec -index b8baa92..be90a84 100644 +index 3609ffe..4b4a5cb 100644 --- a/sdcc.spec +++ b/sdcc.spec -@@ -83,15 +83,15 @@ rm -rf $RPM_BUILD_ROOT +@@ -89,9 +89,7 @@ rm -rf $RPM_BUILD_ROOT %files common %defattr(-,root,root) /usr/share/sdcc/include @@ -3073,12 +3073,13 @@ index b8baa92..be90a84 100644 %files doc %defattr(-,root,root) - %doc %{_defaultdocdir} - +@@ -100,6 +98,8 @@ rm -rf $RPM_BUILD_ROOT %changelog + * Sat Feb 20 2021 - pkk AT spth.de + - version updated to 4.0.0 +* Tue Dec 08 2020 - simon AT simonsouth.net +- removed non-free include and lib directories - * Sat Jan 18 2029 - pkk AT spth.de + * Sat Jan 18 2020 - pkk AT spth.de - version updated to 4.0.0 * Fri Apr 05 2019 - krauseph AT informatik.uni-freiburg.de diff --git a/sdcc_vc.h.in b/sdcc_vc.h.in @@ -3095,10 +3096,10 @@ index 06d8cca..736c325 100644 #define BIN2DATA_DIR "\\.." #define PREFIX2BIN_DIR "\\bin" diff --git a/sdccconf_in.h b/sdccconf_in.h -index aeb2724..9c1df9d 100644 +index eb6f48b..9f5b003 100644 --- a/sdccconf_in.h +++ b/sdccconf_in.h -@@ -97,12 +97,6 @@ +@@ -100,12 +100,6 @@ /* XXX */ #undef LIB_DIR_SUFFIX @@ -3111,7 +3112,7 @@ index aeb2724..9c1df9d 100644 /* Define to 1 to disable the AVR port */ #undef OPT_DISABLE_AVR -@@ -127,9 +121,6 @@ +@@ -130,9 +124,6 @@ /* XXX */ #undef OPT_DISABLE_MCS51 @@ -3122,11 +3123,11 @@ index aeb2724..9c1df9d 100644 #undef OPT_DISABLE_PACKIHX diff --git a/src/SDCCglobl.h b/src/SDCCglobl.h -index b8d156b..db81fd7 100644 +index 9383f68..c2f0b42 100644 --- a/src/SDCCglobl.h +++ b/src/SDCCglobl.h @@ -288,7 +288,6 @@ struct options - int no_pack_iram; /* MCS51/DS390 - Deprecated: Tells the linker not to pack variables in internal ram */ + int stack_size; /* MCS51/DS390 - Tells the linker to allocate this space for stack */ int acall_ajmp; /* MCS51 - Use acall/ajmp instead of lcall/ljmp */ int no_ret_without_call; /* MCS51 - Do not use ret independent of acall/lcall */ - int use_non_free; /* Search / include non-free licensed libraries and header files */ @@ -3134,10 +3135,10 @@ index b8d156b..db81fd7 100644 int xstack_loc; /* initial location of external stack */ int stack_loc; /* initial value of internal stack pointer */ diff --git a/src/SDCCmain.c b/src/SDCCmain.c -index d4598a5..cd36f3d 100644 +index 2a7a711..f46370f 100644 --- a/src/SDCCmain.c +++ b/src/SDCCmain.c -@@ -142,7 +142,6 @@ char buffer[PATH_MAX * 2]; +@@ -151,7 +151,6 @@ char buffer[PATH_MAX * 2]; #define OPTION_DATA_SEG "--dataseg" #define OPTION_DOLLARS_IN_IDENT "--fdollars-in-identifiers" #define OPTION_SIGNED_CHAR "--fsigned-char" @@ -3145,7 +3146,7 @@ index d4598a5..cd36f3d 100644 #define OPTION_PEEP_RETURN "--peep-return" #define OPTION_NO_PEEP_RETURN "--no-peep-return" #define OPTION_NO_OPTSDCC_IN_ASM "--no-optsdcc-in-asm" -@@ -197,7 +196,6 @@ static const OPTION optionsTable[] = { +@@ -207,7 +206,6 @@ static const OPTION optionsTable[] = { {0, OPTION_STD_SDCC2X, NULL, "Use ISO C2X standard with SDCC extensions"}, {0, OPTION_DOLLARS_IN_IDENT, &options.dollars_in_ident, "Permit '$' as an identifier character"}, {0, OPTION_SIGNED_CHAR, &options.signed_char, "Make \"char\" signed by default"}, @@ -3153,7 +3154,7 @@ index d4598a5..cd36f3d 100644 {0, NULL, NULL, "Code generation options"}, {'m', NULL, NULL, "Set the port to use e.g. -mz80."}, -@@ -2084,10 +2082,6 @@ preProcess (char **envp) +@@ -2113,10 +2111,6 @@ preProcess (char **envp) else addSet (&preArgvSet, Safe_strdup ("-D__SDCC_CHAR_UNSIGNED")); @@ -3164,7 +3165,7 @@ index d4598a5..cd36f3d 100644 /* set the macro for large model */ switch (options.model) { -@@ -2301,12 +2295,6 @@ setIncludePath (void) +@@ -2336,12 +2330,6 @@ setIncludePath (void) * 6. - $SDCC_HOME/PREFIX2DATA_DIR/INCLUDE_DIR_SUFFIX * 7. - path(argv[0])/BIN2DATA_DIR/INCLUDE_DIR_SUFFIX * 8. - DATADIR/INCLUDE_DIR_SUFFIX (only on *nix) @@ -3177,8 +3178,8 @@ index d4598a5..cd36f3d 100644 */ if (!options.nostdinc) -@@ -2319,17 +2307,6 @@ setIncludePath (void) - includeDirsSet = processStrSet (includeDirsSet, NULL, port->target, NULL); +@@ -2357,17 +2345,6 @@ setIncludePath (void) + includeDirsSet = processStrSet (includeDirsSet, NULL, port->target, NULL); mergeSets (&includeDirsSet, tempSet); - if (options.use_non_free) @@ -3195,7 +3196,7 @@ index d4598a5..cd36f3d 100644 if ((p = getenv (SDCC_INCLUDE_NAME)) != NULL) { struct dbuf_s dbuf; -@@ -2354,9 +2331,6 @@ setLibPath (void) +@@ -2392,9 +2369,6 @@ setLibPath (void) * 3. - $SDCC_HOME/PREFIX2DATA_DIR/LIB_DIR_SUFFIX/ * 4. - path(argv[0])/BIN2DATA_DIR/LIB_DIR_SUFFIX/ * 5. - DATADIR/LIB_DIR_SUFFIX/ (only on *nix) @@ -3205,7 +3206,7 @@ index d4598a5..cd36f3d 100644 */ if (!options.nostdlib) -@@ -2373,13 +2347,6 @@ setLibPath (void) +@@ -2411,13 +2385,6 @@ setLibPath (void) dbuf_makePath (&dbuf, LIB_DIR_SUFFIX, port->general.get_model ? port->general.get_model () : targetname); libDirsSet = processStrSet (dataDirsSet, NULL, dbuf_c_str (&dbuf), NULL); @@ -3273,7 +3274,7 @@ index cdfbba0..5877f09 100644 extern pic16_options_t pic16_options; diff --git a/src/pic16/main.c b/src/pic16/main.c -index 61d9cfb..75d1182 100644 +index d416642..bfe514d 100644 --- a/src/pic16/main.c +++ b/src/pic16/main.c @@ -655,7 +655,6 @@ OPTION pic16_optionsTable[]= { @@ -3495,10 +3496,10 @@ index 6db417a..4b35225 100755 ); diff --git a/support/scripts/sdcc.nsi b/support/scripts/sdcc.nsi -index 68e9035..92e5784 100644 +index da63063..dae8d8d 100644 --- a/support/scripts/sdcc.nsi +++ b/support/scripts/sdcc.nsi -@@ -483,11 +483,6 @@ ${Section} "SDCC include files" SEC05 +@@ -479,11 +479,6 @@ ${Section} "SDCC include files" SEC05 SetOutPath "$INSTDIR\include" File "${DEV_ROOT}\include\*.h" @@ -3510,7 +3511,7 @@ index 68e9035..92e5784 100644 ${SectionEnd} ${Section} "SDCC DS390 library" SEC06 -@@ -585,18 +580,12 @@ ${Section} "SDCC PIC16 library" SEC21 +@@ -581,18 +576,12 @@ ${Section} "SDCC PIC16 library" SEC21 SetOutPath "$INSTDIR\lib\pic16" File "${DEV_ROOT}\lib\pic16\*.o" File "${DEV_ROOT}\lib\pic16\*.lib" @@ -3551,7 +3552,7 @@ index 68e9035..92e5784 100644 SetOutPath "$INSTDIR\lib\src\pic16\libio" File "${DEV_ROOT}\lib\src\pic16\libio\*.ignore" # File "${DEV_ROOT}\lib\src\pic16\libio\Makefile" -@@ -1074,13 +1055,9 @@ ${Section} Uninstall SECUNINSTALL +@@ -1105,13 +1086,9 @@ ${Section} Uninstall SECUNINSTALL Delete "$INSTDIR\lib\pic14\*.lib" @@ -3565,7 +3566,7 @@ index 68e9035..92e5784 100644 Delete "$INSTDIR\lib\hc08\*.lib" Delete "$INSTDIR\lib\s08\*.lib" -@@ -1144,9 +1121,7 @@ ${Section} Uninstall SECUNINSTALL +@@ -1182,9 +1159,7 @@ ${Section} Uninstall SECUNINSTALL Delete "$INSTDIR\include\pic14\*.h" Delete "$INSTDIR\include\pic14\*.txt" Delete "$INSTDIR\include\pic14\*.inc" @@ -3575,7 +3576,7 @@ index 68e9035..92e5784 100644 Delete "$INSTDIR\include\pic16\*.txt" Delete "$INSTDIR\include\mcs51\*.h" Delete "$INSTDIR\include\hc08\*.h" -@@ -1208,9 +1183,7 @@ ${Section} Uninstall SECUNINSTALL +@@ -1246,9 +1221,7 @@ ${Section} Uninstall SECUNINSTALL Delete "$INSTDIR\uninstall.exe" RMDir /r "$INSTDIR\lib\src\pic14" @@ -3585,9 +3586,9 @@ index 68e9035..92e5784 100644 RMDir "$INSTDIR\lib\src\small" RMDir "$INSTDIR\lib\src\medium" RMDir "$INSTDIR\lib\src\large" -@@ -1233,12 +1206,9 @@ ${Section} Uninstall SECUNINSTALL - RMDir "$INSTDIR\lib\src\pdk15" - RMDir "$INSTDIR\lib\src\pdk15-stack-auto" +@@ -1274,12 +1247,9 @@ ${Section} Uninstall SECUNINSTALL + RMDir "$INSTDIR\lib\src\tlcs90" + RMDir "$INSTDIR\lib\src\z80n" RMDir "$INSTDIR\lib\src" - RMDir "$INSTDIR\non-free\lib\src" @@ -3598,17 +3599,15 @@ index 68e9035..92e5784 100644 RMDir "$INSTDIR\lib\z80" RMDir "$INSTDIR\lib\z180" RMDir "$INSTDIR\lib\r2k" -@@ -1261,7 +1231,6 @@ ${Section} Uninstall SECUNINSTALL - RMDir "$INSTDIR\lib\pdk15" - RMDir "$INSTDIR\lib\pdk15-stack-auto" +@@ -1305,15 +1275,12 @@ ${Section} Uninstall SECUNINSTALL + RMDir "$INSTDIR\lib\tlcs90" + RMDir "$INSTDIR\lib\z80n" RMDir "$INSTDIR\lib" - RMDir "$INSTDIR\non-free\lib" RMDir "$INSTDIR\include\asm\z80" - RMDir "$INSTDIR\include\asm\z180" -@@ -1269,9 +1238,7 @@ ${Section} Uninstall SECUNINSTALL + RMDir "$INSTDIR\include\asm\r2k" RMDir "$INSTDIR\include\asm\r3ka" - RMDir "$INSTDIR\include\asm\ez80_z80" RMDir "$INSTDIR\include\asm\pic16" - RMDir "$INSTDIR\non-free\include\asm\pic16" RMDir "$INSTDIR\include\asm\pic14" @@ -3616,7 +3615,7 @@ index 68e9035..92e5784 100644 RMDir "$INSTDIR\include\asm\mcs51" RMDir "$INSTDIR\include\asm\gbz80" RMDir "$INSTDIR\include\asm\ds390" -@@ -1280,17 +1247,12 @@ ${Section} Uninstall SECUNINSTALL +@@ -1322,17 +1289,12 @@ ${Section} Uninstall SECUNINSTALL RMDir "$INSTDIR\include\asm" RMDir "$INSTDIR\include\z180" RMDir "$INSTDIR\include\pic14" From fb4ccb86c26cc06d090576a6c281b5bb417f1ec9 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Tue, 9 Mar 2021 01:48:15 -0500 Subject: [PATCH 0278/1003] gnu: gajim: Update to 1.3.1. * gnu/packages/messaging.scm (gajim): Update to 1.3.1. [arguments]: Modify custom 'disable-failing-tests phase. --- gnu/packages/messaging.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 33a0d4fa56..d8eae12645 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -964,7 +964,7 @@ of xmpppy.") (define-public gajim (package (name "gajim") - (version "1.3.0") + (version "1.3.1") (source (origin (method url-fetch) @@ -973,7 +973,7 @@ of xmpppy.") (version-major+minor version) "/gajim-" version ".tar.gz")) (sha256 - (base32 "1v0cx8r1zr9aj17ik5apxxfpr9rv5w8p1i7hfys6wp9292gc7s25")) + (base32 "070h1n3miq99z6ln77plk3jlisgfqfs2yyn4rhchpf25zd8is1ba")) (patches (search-patches "gajim-honour-GAJIM_PLUGIN_PATH.patch")))) (build-system python-build-system) (arguments @@ -989,7 +989,9 @@ of xmpppy.") (modify-phases %standard-phases (add-after 'unpack 'disable-failing-tests (lambda _ - ;; https://dev.gajim.org/gajim/gajim/-/issues/10427 + ;; ModuleNotFoundError: No module named 'gajim.gui.emoji_data' + ;; https://dev.gajim.org/gajim/gajim/-/issues/10478 + (delete-file "test/lib/gajim_mocks.py") (delete-file "test/unit/test_gui_interface.py") #t)) (replace 'check From 70128b8afacf332b0aff69ebcad6868fd158e8ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 11:49:35 +0100 Subject: [PATCH 0279/1003] gnu: cyrus-sasl: Fix CVE-2019-19906. * gnu/packages/patches/cyrus-sasl-CVE-2019-19906.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/cyrus-sasl.scm (cyrus-sasl/fixed): New variable. Apply patch. (cyrus-sasl)[replacement]: Graft. --- gnu/local.mk | 1 + gnu/packages/cyrus-sasl.scm | 18 +++++++++++++ .../patches/cyrus-sasl-CVE-2019-19906.patch | 25 +++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 gnu/packages/patches/cyrus-sasl-CVE-2019-19906.patch diff --git a/gnu/local.mk b/gnu/local.mk index dcee722e79..43ed97692e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -917,6 +917,7 @@ dist_patch_DATA = \ %D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cvs-CVE-2017-12836.patch \ %D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch \ + %D%/packages/patches/cyrus-sasl-CVE-2019-19906.patch \ %D%/packages/patches/c++-gsl-find-system-gtest.patch \ %D%/packages/patches/date-output-pkg-config-files.patch \ %D%/packages/patches/datefudge-gettimeofday.patch \ diff --git a/gnu/packages/cyrus-sasl.scm b/gnu/packages/cyrus-sasl.scm index 3e65a1faf6..691349a38f 100644 --- a/gnu/packages/cyrus-sasl.scm +++ b/gnu/packages/cyrus-sasl.scm @@ -45,6 +45,7 @@ (sha256 (base32 "1m85zcpgfdhm43cavpdkhb1s2zq1b31472hq1w1gs3xh94anp1i6")) (patches (search-patches "cyrus-sasl-ac-try-run-fix.patch")))) + (replacement cyrus-sasl/fixed) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -80,3 +81,20 @@ server writers.") (license (license:non-copyleft "file://COPYING" "See COPYING in the distribution.")) (home-page "https://cyrusimap.org/sasl/"))) + +(define-public cyrus-sasl/fixed + (package + (inherit cyrus-sasl) + (version "2.1.27") + (source (origin + (method url-fetch) + (uri (list (string-append + "https://cyrusimap.org/releases/cyrus-sasl-" + version ".tar.gz") + (string-append + "ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-" + version ".tar.gz"))) + (sha256 (base32 + "1m85zcpgfdhm43cavpdkhb1s2zq1b31472hq1w1gs3xh94anp1i6")) + (patches (search-patches "cyrus-sasl-ac-try-run-fix.patch" + "cyrus-sasl-CVE-2019-19906.patch")))))) diff --git a/gnu/packages/patches/cyrus-sasl-CVE-2019-19906.patch b/gnu/packages/patches/cyrus-sasl-CVE-2019-19906.patch new file mode 100644 index 0000000000..acdf682430 --- /dev/null +++ b/gnu/packages/patches/cyrus-sasl-CVE-2019-19906.patch @@ -0,0 +1,25 @@ +From dcc9f51cbd4ed622cfb0f9b1c141eb2ffe3b12f1 Mon Sep 17 00:00:00 2001 +From: Quanah Gibson-Mount +Date: Tue, 18 Feb 2020 19:05:12 +0000 +Subject: [PATCH] Fix #587 + +Off by one error in common.c, CVE-2019-19906. + +Thanks to Stephan Zeisberg for reporting +--- + lib/common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/common.c b/lib/common.c +index bc3bf1df..9969d6aa 100644 +--- a/lib/common.c ++++ b/lib/common.c +@@ -190,7 +190,7 @@ int _sasl_add_string(char **out, size_t *alloclen, + + if (add==NULL) add = "(null)"; + +- addlen=strlen(add); /* only compute once */ ++ addlen=strlen(add)+1; /* only compute once */ + if (_buf_alloc(out, alloclen, (*outlen)+addlen)!=SASL_OK) + return SASL_NOMEM; + From 9a05af61ac2908b7b1f30c77a9b29919eaa4e94d Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Thu, 4 Mar 2021 11:57:45 +0100 Subject: [PATCH 0280/1003] gnu: python-gssapi: Update to 1.6.12. * gnu/packages/python-xyz.scm (python-gssapi) [version]: Update to 1.6.12. [arguments]: Tests have been fixed upstream, remove. [native-inputs]: python-shouldbea is not required any more, remove. --- gnu/packages/python-xyz.scm | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index b1ac3e2e3b..585e0014b9 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -21616,31 +21616,15 @@ tests.") (define-public python-gssapi (package (name "python-gssapi") - (version "1.6.9") + (version "1.6.12") (source (origin (method url-fetch) (uri (pypi-uri "gssapi" version)) (sha256 (base32 - "1fa78pn5jzfbwf3y6mj4fc8sh11wjf1hwh5qv39cdlxb71qsq2hb")))) + "1j2idrbrbczykzlb56q1bn0ivc9c0rjjljpk4yz86xn3gxfkpv8n")))) (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - ;; Work around - ;; https://github.com/pythongssapi/python-gssapi/issues/220. - (add-before 'check 'disable-failing-tests - (lambda _ - (let ((reason "Disabled failing test (see: \ -https://github.com/pythongssapi/python-gssapi/issues/220).")) - (substitute* "gssapi/tests/test_high_level.py" - ((".*def test_add_with_impersonate.*" all) - (string-append all " self.skipTest('" reason "')\n"))) - (substitute* "gssapi/tests/test_raw.py" - ((".*def test_.*impersonate_name.*" all) - (string-append all " self.skipTest('" reason "')\n"))) - #t)))))) (propagated-inputs `(("python-decorator" ,python-decorator) ("python-six" ,python-six))) @@ -21648,8 +21632,7 @@ https://github.com/pythongssapi/python-gssapi/issues/220).")) `(("mit-krb5" ,mit-krb5))) ;; for tests (native-inputs - `(("python-shouldbe" ,python-shouldbe) - ("python-parameterized" ,python-parameterized) + `(("python-parameterized" ,python-parameterized) ("python-k5test" ,python-k5test) ("python-nose" ,python-nose))) (home-page "https://github.com/pythongssapi/python-gssapi") From 714465ec7c1d3c40e710e95ec5bd6651311827d6 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Thu, 4 Mar 2021 11:59:19 +0100 Subject: [PATCH 0281/1003] gnu: python-asyncssh: Update to 2.5.0. * gnu/packages/ssh.scm (python-asyncssh): Update to 2.5.0. --- gnu/packages/ssh.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index b73e9633ea..68590e2fe5 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -781,14 +781,14 @@ shell services and remote host selection.") (define-public python-asyncssh (package (name "python-asyncssh") - (version "2.3.0") + (version "2.5.0") (source (origin (method url-fetch) (uri (pypi-uri "asyncssh" version)) (sha256 (base32 - "0pi6npmsgx7l9r1qrfvg8mxx3i23ipff492xz4yhrw13f56a7ga4")))) + "02xpzir9rmw7b7k07m3f912h6jvy9yzan9yn3ckrmqx2ffpy4r8b")))) (build-system python-build-system) (propagated-inputs `(("python-cryptography" ,python-cryptography) From 38b0c64d7b3e4c6bfc1da9cd6b9a04d27972e90d Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Thu, 4 Mar 2021 12:00:47 +0100 Subject: [PATCH 0282/1003] gnu: python-shouldbe: Remove. Unmaintained upstream and its only dependent (python-gssapi) dropped it. * gnu/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch: Remove. * gnu/local.mk: Drop patch file. * gnu/packages/python-xyz.scm (python-shouldbe): Remove. --- gnu/local.mk | 1 - .../python-shouldbe-0.1.2-cpy3.8.patch | 82 ------------------- gnu/packages/python-xyz.scm | 23 ------ 3 files changed, 106 deletions(-) delete mode 100644 gnu/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch diff --git a/gnu/local.mk b/gnu/local.mk index 43ed97692e..667ec79048 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1560,7 +1560,6 @@ dist_patch_DATA = \ %D%/packages/patches/python2-pygobject-2-deprecation.patch \ %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \ %D%/packages/patches/python-robotframework-source-date-epoch.patch \ - %D%/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch \ %D%/packages/patches/python2-subprocess32-disable-input-test.patch \ %D%/packages/patches/python-unittest2-python3-compat.patch \ %D%/packages/patches/python-unittest2-remove-argparse.patch \ diff --git a/gnu/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch b/gnu/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch deleted file mode 100644 index f3b56e42d6..0000000000 --- a/gnu/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch +++ /dev/null @@ -1,82 +0,0 @@ -Fix compatibility with Python 3.8. - -Upstream issue: https://github.com/DirectXMan12/should_be/pull/5 - -diff -x '*.pyc' -Naur shouldbe-0.1.2/should_be/core.py shouldbe-0.1.2.patched/should_be/core.py ---- shouldbe-0.1.2/should_be/core.py 2019-03-06 07:38:22.000000000 +0100 -+++ shouldbe-0.1.2.patched/should_be/core.py 2020-05-18 08:44:24.214664704 +0200 -@@ -103,7 +103,7 @@ - return resf - - --def buildCode(baseCode, argcount=None, kwonlyargcount=None, -+def buildCode(baseCode, argcount=None, posonlyargcount=None, kwonlyargcount=None, - nlocals=None, stacksize=None, flags=None, - code=None, consts=None, names=None, - varnames=None, filename=None, name=None, -@@ -121,6 +121,24 @@ - nlocals or baseCode.co_nlocals, - stacksize or baseCode.co_stacksize, - flags or baseCode.co_flags, -+ code or baseCode.co_code, -+ consts or baseCode.co_consts, -+ names or baseCode.co_names, -+ varnames or baseCode.co_varnames, -+ filename or baseCode.co_filename, -+ name or baseCode.co_name, -+ firstlineno or baseCode.co_firstlineno, -+ lnotab or baseCode.co_lnotab, -+ freevars or baseCode.co_freevars, -+ cellvars or baseCode.co_cellvars) -+ elif hasattr(baseCode, 'co_posonlyargcount'): -+ # Python 3.8 -+ resc = CodeType(argcount or baseCode.co_argcount, -+ posonlyargcount or baseCode.co_posonlyargcount, -+ kwonlyargcount or baseCode.co_kwonlyargcount, -+ nlocals or baseCode.co_nlocals, -+ stacksize or baseCode.co_stacksize, -+ flags or baseCode.co_flags, - code or baseCode.co_code, - consts or baseCode.co_consts, - names or baseCode.co_names, -diff -x '*.pyc' -Naur shouldbe-0.1.2/should_be/tests/test_container_mixin.py shouldbe-0.1.2.patched/should_be/tests/test_container_mixin.py ---- shouldbe-0.1.2/should_be/tests/test_container_mixin.py 2019-03-01 06:38:16.000000000 +0100 -+++ shouldbe-0.1.2.patched/should_be/tests/test_container_mixin.py 2020-05-18 09:00:51.372531064 +0200 -@@ -7,31 +7,31 @@ - self.lst = [1, 2, 3] - - def test_should_include_iter(self): -- err_msg = (r'[a-zA-Z0-9.]+ should have included \[.+?\]' -+ err_msg = (r'[a-zA-Z0-9.()]+ should have included \[.+?\]' - r', but did not have items .+') -- self.assertRaisesRegexp(AssertionError, err_msg, -+ self.assertRaisesRegex(AssertionError, err_msg, - self.lst.should_include, [4]) - - self.lst.should_include([1, 2, 3]) - - def test_should_include_item(self): -- err_msg = (r'[a-zA-Z0-9.]+ should have included .+?' -+ err_msg = (r'[a-zA-Z0-9.()]+ should have included .+?' - r', but did not') -- self.assertRaisesRegexp(AssertionError, err_msg, -+ self.assertRaisesRegex(AssertionError, err_msg, - self.lst.should_include, 4) - - self.lst.should_include(3) - - def test_shouldnt_include_iter(self): - err_msg = 'should not have included' -- self.assertRaisesRegexp(AssertionError, err_msg, -+ self.assertRaisesRegex(AssertionError, err_msg, - self.lst.shouldnt_include, [2, 3]) - - self.lst.shouldnt_include([4, 5]) - - def test_shouldnt_include_item(self): - err_msg = 'should not have included' -- self.assertRaisesRegexp(AssertionError, err_msg, -+ self.assertRaisesRegex(AssertionError, err_msg, - self.lst.shouldnt_include, 3) - - self.lst.shouldnt_include(4) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 585e0014b9..532f26ea8d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -21556,29 +21556,6 @@ and cuts down boilerplate code when testing libraries for asyncio.") (description "This project allows Python code to extend built-in types.") (license (list license:gpl3+ license:expat)))) -(define-public python-shouldbe - (package - (name "python-shouldbe") - (version "0.1.2") - (source - (origin - (method url-fetch) - (uri (pypi-uri "shouldbe" version)) - (sha256 - (base32 - "16zbvjxf71dl4yfbgcr6idyim3mdrfvix1dv8b95p0s9z07372pj")) - (patches (search-patches "python-shouldbe-0.1.2-cpy3.8.patch")))) - (build-system python-build-system) - (propagated-inputs - `(("python-forbiddenfruit" ,python-forbiddenfruit))) - (native-inputs - `(("python-nose" ,python-nose))) - (home-page "https://github.com/directxman12/should_be") - (synopsis "Python Assertion Helpers inspired by Shouldly") - (description - "Python Assertion Helpers inspired by Shouldly.") - (license license:isc))) - (define-public python-k5test (package (name "python-k5test") From b431840cbedc839a5c1bbbde4433d535b0e6d631 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Thu, 4 Mar 2021 13:23:45 +0100 Subject: [PATCH 0283/1003] gnu: python-aiounittest: Update to 1.4.0. * gnu/packages/check.scm (python-aiounittest) [version]: Update to 1.4.0. [source]: Switch to git repository. [arguments]: Run notetests. [propagated-inputs]: Add python-wrapt. --- gnu/packages/check.scm | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 0baf777393..524cc1874d 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -2848,15 +2848,27 @@ system. The code under test requires no modification to work with pyfakefs.") (define-public python-aiounittest (package (name "python-aiounittest") - (version "1.3.1") + (version "1.4.0") + ;; Pypi package lacks tests. (source - (origin - (method url-fetch) - (uri (pypi-uri "aiounittest" version)) - (sha256 - (base32 - "1q4bhmi80smaa1lknvdna0sx3915naczlfna1fp435nf6cjyrjl1")))) + (origin (method git-fetch) + (uri (git-reference + (url "https://github.com/kwarunek/aiounittest.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hql5mw62lclrpblbh7xvinwjfcdcfvhhlvl7xlq2hi9isjq1c8r")))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "nosetests" "-v") + (format #t "test suite not run~%")) + #t))))) + (propagated-inputs `(("python-wrapt" ,python-wrapt))) (native-inputs `(("python-coverage" ,python-coverage) ("python-nose" ,python-nose))) From f73ee73da72d137e15b0c19f3e3482733e9eaa5a Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Thu, 4 Mar 2021 13:26:16 +0100 Subject: [PATCH 0284/1003] gnu: python-pypika: Update to 0.47.6. * gnu/packages/databases.scm (python-pypika): Update to 0.47.6. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 8ec2dc448a..c814cf8954 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3648,7 +3648,7 @@ transforms idiomatic python function calls to well-formed SQL queries.") (define-public python-pypika (package (name "python-pypika") - (version "0.44.0") + (version "0.47.6") (source (origin (method git-fetch) (uri (git-reference @@ -3657,7 +3657,7 @@ transforms idiomatic python function calls to well-formed SQL queries.") (file-name (git-file-name name version)) (sha256 (base32 - "0mpddrw9z1pzcc40j3pzhd583hlgjx96aa8ak6m9zzhpm4bv3ard")))) + "001pg36sw9a36zdd1kccbymcxndphjcjbbrsy6ri7ng8h4dgz549")))) (build-system python-build-system) (native-inputs `(("python-parameterized" ,python-parameterized))) From 281fd9ad71f0e6276adcf4d058b4bcf09dd5e087 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Thu, 4 Mar 2021 13:27:11 +0100 Subject: [PATCH 0285/1003] gnu: python-aiosqlite: Update to 0.17.0. * gnu/packages/databases.scm (python-aiosqlite) [version]: Update to 0.17.0. [arguments]: Run tests. [propagated-inputs]: Add python-typing-extensions. --- gnu/packages/databases.scm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index c814cf8954..8bc411ca51 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -3237,15 +3237,25 @@ translate the complete SQLite API into Python.") (define-public python-aiosqlite (package (name "python-aiosqlite") - (version "0.12.0") + (version "0.17.0") (source (origin (method url-fetch) (uri (pypi-uri "aiosqlite" version)) (sha256 (base32 - "1w8248yz85xyzvvh4jaxnc59fqil45aka6h82kn1rcih4rjxbnn1")))) + "0lgfpbkcd730hbgj3zlrbx2y8fzvdns2zj3s4r4l31n49g1arrph")))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "python" "-m" "unittest" "aiosqlite.tests") + (format #t "test suite not run~%")) + #t))))) + (propagated-inputs + `(("python-typing-extensions" ,python-typing-extensions))) (native-inputs `(("python-aiounittest" ,python-aiounittest))) (home-page "https://github.com/jreese/aiosqlite") From e7a3ae1e85286288c723af8e0aae8500f1e91e01 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Thu, 4 Mar 2021 13:30:09 +0100 Subject: [PATCH 0286/1003] gnu: python-tortoise-orm: Update to 0.16.21. * gnu/packages/databases.scm (python-tortoise-orm) [version]: Update to 0.16.21. [arguments]: Relax version requirements. --- gnu/packages/databases.scm | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 8bc411ca51..d8ebc773b7 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -2642,17 +2642,25 @@ can autogenerate peewee models using @code{pwiz}, a model generator.") (define-public python-tortoise-orm (package (name "python-tortoise-orm") - (version "0.16.7") + (version "0.16.21") (source (origin (method url-fetch) (uri (pypi-uri "tortoise-orm" version)) (sha256 (base32 - "0wr7p4v0b16ypm9fcpwpl99kf491m6w3jkd13xcsgq13fy73fbqc")))) + "1dallk0q8q4v37klm0v3rppf2w8sjkqmypc1w8r9rraqxg1ylacp")))) (build-system python-build-system) - ;; Disable tests for now. They pull in a lot of dependencies. - (arguments `(#:tests? #f)) + (arguments + `(#:tests? #f ; Pypi does not have tests and Git snapshot depends on + ; poetry. + #:phases (modify-phases %standard-phases + (add-after 'unpack 'relax-version-requirements + (lambda _ + (substitute* "setup.py" + (("pypika>=0\\.44\\.0,<0\\.45\\.0") "pypika") + (("aiosqlite>=0.16.0,<0.17.0") "aiosqlite")) + #t))))) (native-inputs `(("python-asynctest" ,python-asynctest) ("python-nose2" ,python-nose2))) From d58a7b45cd01414fa8110c78565a06618fd30c0b Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Thu, 4 Mar 2021 14:45:26 +0100 Subject: [PATCH 0287/1003] gnu: python-ujson: Update to 4.0.2. * gnu/packages/python-xyz.scm (python-ujson): Update to 4.0.2. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 532f26ea8d..1d993f67d7 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -21109,14 +21109,14 @@ register custom encoders and decoders.") (define-public python-ujson (package (name "python-ujson") - (version "4.0.1") + (version "4.0.2") (source (origin (method url-fetch) (uri (pypi-uri "ujson" version)) (sha256 (base32 - "1lr9lbm76y3ah1463jggwg2hjcb709mpns5f752wxxbgnd0n5kr6")) + "0k9w0kypy7vlskzzp2vsjswaw8lbqdrplzkbflxki9vqwglsj5f6")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "deps") #t)))) From 548d0ddd7fbf91c860b5061d4f6ac58ed249ec5d Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Thu, 4 Mar 2021 14:46:25 +0100 Subject: [PATCH 0288/1003] gnu: python-aiofiles: Update to 0.6.0. * gnu/packages/python-xyz.scm (python-aiofiles): Update to 0.6.0. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 1d993f67d7..d06552c3cc 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -23594,14 +23594,14 @@ process.") (define-public python-aiofiles (package (name "python-aiofiles") - (version "0.5.0") + (version "0.6.0") (source (origin (method url-fetch) (uri (pypi-uri "aiofiles" version)) (sha256 (base32 - "1bqmv019x16qa3zah0z915cw6z4va3fjs60fk2s7vyah3gyvrrlq")))) + "14m01kjxm2j7zyljjj6xlhlgygcsriymbx730gc5jp9xglaina70")))) (build-system python-build-system) (home-page "https://github.com/Tinche/aiofiles") (synopsis "File support for @code{asyncio}") From 955fcf0a19d2e328edf429eee251c46dda85d776 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Thu, 4 Mar 2021 14:47:22 +0100 Subject: [PATCH 0289/1003] gnu: python-pytest-sanic: Update to 1.7.0. * gnu/packages/python-check.scm (python-pytest-sanic) [version]: Update to 1.7.0. [propagated-inputs]: Replace python-aiohttp with python-httpx and add python-websockets. --- gnu/packages/python-check.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 15efdd3297..3eb561c89a 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -1237,22 +1237,23 @@ help in debugging failures and optimizing the scheduler to improve speed.") (define-public python-pytest-sanic (package (name "python-pytest-sanic") - (version "1.6.2") + (version "1.7.0") (source (origin (method url-fetch) (uri (pypi-uri "pytest-sanic" version)) (sha256 (base32 - "02ajd8z77ahi69kzkz200qgxrb4s2j4qb6k8j9ds1kz6qa6fsa34")))) + "0hm7im77dgqfk8k34qbbfhimg8hifl4zwpa2s3mgbknrjvyw5qpx")))) (build-system python-build-system) (arguments ;; Tests depend on python-sanic. `(#:tests? #f)) (propagated-inputs - `(("python-aiohttp" ,python-aiohttp) + `(("python-httpx" ,python-httpx) ("python-async-generator" ,python-async-generator) - ("python-pytest" ,python-pytest))) + ("python-pytest" ,python-pytest) + ("python-websockets" ,python-websockets))) (home-page "https://github.com/yunstanford/pytest-sanic") (synopsis "Pytest plugin for Sanic") From 999a1cba5416bb2099e21d4fc55624d8ef2c7fa1 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Thu, 4 Mar 2021 14:48:28 +0100 Subject: [PATCH 0290/1003] gnu: python-sanic: Update to 20.12.2. * gnu/packages/python-web.scm (python-sanic) [version]: Update to 20.12.2. [arguments]: Relax dependency versions. [native-inputs]: Add python-pytest-asyncio. [home-page]: Update. [synopsis]: Remove Python version. [description]: Ditto. --- gnu/packages/python-web.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index b0268e5a31..edfff0c6a3 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -5658,14 +5658,14 @@ as a Python package.") (define-public python-sanic (package (name "python-sanic") - (version "20.9.1") + (version "20.12.2") (source (origin (method url-fetch) (uri (pypi-uri "sanic" version)) (sha256 (base32 - "06p0lsxqbfbka2yaqlpp0bg5pf7ma44zi6kq7qbb6hhry48dp1w6")))) + "1c02gdp1j18xny9jd33fp0w57qqi7g66zwmaykv2dhcks96f5mxr")))) (build-system python-build-system) (arguments '(#:phases @@ -5674,9 +5674,8 @@ as a Python package.") ;; Allow using recent dependencies. (lambda* (#:key inputs #:allow-other-keys) (substitute* "setup.py" - (("httpcore==0.3.0") "httpcore") (("pytest==5.2.1") "pytest") - (("multidict==5.0.0") "multidict") + (("multidict>=5.0,<6.0") "multidict") (("httpx==0\\.15\\.4") "httpx")) #t)) (replace 'check @@ -5702,14 +5701,15 @@ as a Python package.") ("python-pytest-benchmark" ,python-pytest-benchmark) ("python-pytest-sanic" ,python-pytest-sanic) ("python-pytest-sugar" ,python-pytest-sugar) + ("python-pytest-asyncio" ,python-pytest-asyncio) ("python-urllib3" ,python-urllib3) ("python-uvicorn" ,python-uvicorn))) (home-page - "https://github.com/huge-success/sanic/") + "https://github.com/sanic-org/sanic/") (synopsis - "Async Python 3.6+ web server/framework") + "Async Python web server/framework") (description - "Sanic is a Python 3.6+ web server and web framework + "Sanic is a Python web server and web framework that's written to go fast. It allows the usage of the @code{async/await} syntax added in Python 3.5, which makes your code non-blocking and speedy.") From fdf82830d417aeb481f1503ab4dd7e7a31f1772d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 12:22:17 +0100 Subject: [PATCH 0291/1003] gnu: mysql: Update to 5.7.33 [security fixes]. * gnu/packages/databases.scm (mysql): Update to 5.7.33. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index d8ebc773b7..8bb248fa1d 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -833,7 +833,7 @@ auto-completion and syntax highlighting.") (define-public mysql (package (name "mysql") - (version "5.7.27") + (version "5.7.33") (source (origin (method url-fetch) (uri (list (string-append @@ -845,7 +845,7 @@ auto-completion and syntax highlighting.") name "-" version ".tar.gz"))) (sha256 (base32 - "1fhv16zr46pxm1j8vb8x8mh3nwzglg01arz8gnazbmjqldr5idpq")))) + "1bb343mf7n0qg2qz497gxjsqprygrjz1q1pbz76hgqxnsy08sfxd")))) (build-system cmake-build-system) (arguments `(#:configure-flags From e5f89570c1d72c4b674fad6b6ad5591ead02d419 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 13:01:58 +0100 Subject: [PATCH 0292/1003] gnu: mongodb: Update to 3.4.24 [security fixes]. * gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch: Remove patch. * gnu/local.mk (dist_patch_DATA): Ditto. * gnu/packages/databases.scm (mongodb): Update to 3.4.24. [source]: Drop patch. Update third_party libs folder names. --- gnu/local.mk | 1 - gnu/packages/databases.scm | 13 ++--- ...-support-unknown-linux-distributions.patch | 55 ------------------- 3 files changed, 5 insertions(+), 64 deletions(-) delete mode 100644 gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch diff --git a/gnu/local.mk b/gnu/local.mk index 667ec79048..39037d3499 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1372,7 +1372,6 @@ dist_patch_DATA = \ %D%/packages/patches/mpc123-initialize-ao.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ %D%/packages/patches/monero-use-system-miniupnpc.patch \ - %D%/packages/patches/mongodb-support-unknown-linux-distributions.patch \ %D%/packages/patches/mono-mdoc-timestamping.patch \ %D%/packages/patches/mozjs17-aarch64-support.patch \ %D%/packages/patches/mozjs24-aarch64-support.patch \ diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 8bb248fa1d..03d01b582a 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -664,27 +664,24 @@ replacement for the code@{python-memcached} library.") (define-public mongodb (package (name "mongodb") - (version "3.4.10") + (version "3.4.24") (source (origin (method url-fetch) (uri (string-append "https://github.com/mongodb/mongo/archive/r" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0676lvkljj7a5hdhv78dbykqnqrj9lbn9799mi84b8vbnzsq961r")) + (base32 "0y1669sqj8wyf0y0njhxs4qhn1qzjhrs2h2qllya5samxrlrjhkg")) (modules '((guix build utils))) (snippet '(begin (for-each (lambda (dir) (delete-file-recursively (string-append "src/third_party/" dir))) - '("pcre-8.41" "scons-2.5.0" "snappy-1.1.3" + '("pcre-8.42" "scons-2.5.0" "snappy-1.1.3" "valgrind-3.11.0" "wiredtiger" - "yaml-cpp-0.5.3" "zlib-1.2.8")) - #t)) - (patches - (list - (search-patch "mongodb-support-unknown-linux-distributions.patch"))))) + "yaml-cpp-0.6.2" "zlib-1.2.11")) + #t)))) (build-system scons-build-system) (inputs `(("openssl" ,openssl-1.0) diff --git a/gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch b/gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch deleted file mode 100644 index 6057ebeb08..0000000000 --- a/gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch +++ /dev/null @@ -1,55 +0,0 @@ -From e724bb7018a482640c4f194f88b554af2c59d76e Mon Sep 17 00:00:00 2001 -From: Mark Benvenuto -Date: Wed, 20 Sep 2017 11:50:02 -0400 -Subject: [PATCH] SERVER-30857 Support unknown Linux distributions - ---- - src/mongo/rpc/metadata/client_metadata.cpp | 6 ------ - src/mongo/util/processinfo_linux.cpp | 9 ++++++--- - 2 files changed, 6 insertions(+), 9 deletions(-) - -diff --git a/src/mongo/rpc/metadata/client_metadata.cpp b/src/mongo/rpc/metadata/client_metadata.cpp -index 845a315dd74..a959a4e31e9 100644 ---- a/src/mongo/rpc/metadata/client_metadata.cpp -+++ b/src/mongo/rpc/metadata/client_metadata.cpp -@@ -302,9 +302,6 @@ void ClientMetadata::serializePrivate(StringData driverName, - StringData osArchitecture, - StringData osVersion, - BSONObjBuilder* builder) { -- invariant(!driverName.empty() && !driverVersion.empty() && !osType.empty() && !osName.empty() && -- !osArchitecture.empty() && !osVersion.empty()); -- - BSONObjBuilder metaObjBuilder(builder->subobjStart(kMetadataDocumentName)); - - { -@@ -347,9 +344,6 @@ Status ClientMetadata::serializePrivate(StringData driverName, - StringData osVersion, - StringData appName, - BSONObjBuilder* builder) { -- invariant(!driverName.empty() && !driverVersion.empty() && !osType.empty() && !osName.empty() && -- !osArchitecture.empty() && !osVersion.empty()); -- - if (appName.size() > kMaxApplicationNameByteLength) { - return Status(ErrorCodes::ClientMetadataAppNameTooLarge, - str::stream() << "The '" << kApplication << "." << kName -diff --git a/src/mongo/util/processinfo_linux.cpp b/src/mongo/util/processinfo_linux.cpp -index c3debf377bd..c2813b026b0 100644 ---- a/src/mongo/util/processinfo_linux.cpp -+++ b/src/mongo/util/processinfo_linux.cpp -@@ -376,10 +376,13 @@ class LinuxSysHelper { - if ((nl = name.find('\n', nl)) != string::npos) - // stop at first newline - name.erase(nl); -- // no standard format for name and version. use kernel version -- version = "Kernel "; -- version += LinuxSysHelper::readLineFromFile("/proc/sys/kernel/osrelease"); -+ } else { -+ name = "unknown"; - } -+ -+ // There is no standard format for name and version so use the kernel version. -+ version = "Kernel "; -+ version += LinuxSysHelper::readLineFromFile("/proc/sys/kernel/osrelease"); - } - - /** From 8898eaec57f6294221888e6dca1802abdd3d5868 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 10 Mar 2021 11:28:35 +0100 Subject: [PATCH 0293/1003] Revert "inferior: Break cached-channel-instance into two procedures." This reverts commit 7d63b775513e7049047222dbe403a4181f63828d because it raises some concerns, see: https://lists.gnu.org/archive/html/guix-devel/2021-03/msg00124.html. --- guix/inferior.scm | 82 ++++++++++++----------------------- guix/scripts/time-machine.scm | 5 +-- 2 files changed, 29 insertions(+), 58 deletions(-) diff --git a/guix/inferior.scm b/guix/inferior.scm index d0cd1ccee7..259be3f27d 100644 --- a/guix/inferior.scm +++ b/guix/inferior.scm @@ -98,8 +98,7 @@ gexp->derivation-in-inferior %inferior-cache-directory - channels->cached-profile - instances->cached-profile + cached-channel-instance inferior-for-channels)) ;;; Commentary: @@ -709,14 +708,22 @@ prefix, resolve it; and if 'commit' is unset, fetch CHANNEL's branch tip." #:check-out? #f))) commit)))) -(define* (cached-profile store instances - #:key - cache-directory - commits ttl) - "Return a directory containing a guix filetree defined by INSTANCES, a -procedure returning a list of channel instances. The directory is a -subdirectory of CACHE-DIRECTORY, where entries can be reclaimed after TTL -seconds. This procedure opens a new connection to the build daemon." +(define* (cached-channel-instance store + channels + #:key + (authenticate? #t) + (cache-directory (%inferior-cache-directory)) + (ttl (* 3600 24 30))) + "Return a directory containing a guix filetree defined by CHANNELS, a list of channels. +The directory is a subdirectory of CACHE-DIRECTORY, where entries can be reclaimed after TTL seconds. +This procedure opens a new connection to the build daemon. AUTHENTICATE? +determines whether CHANNELS are authenticated." + (define commits + ;; Since computing the instances of CHANNELS is I/O-intensive, use a + ;; cheaper way to get the commit list of CHANNELS. This limits overhead + ;; to the minimum in case of a cache hit. + (map channel-full-commit channels)) + (define key (bytevector->base32-string (sha256 @@ -748,8 +755,12 @@ seconds. This procedure opens a new connection to the build daemon." (if (file-exists? cached) cached (run-with-store store - (mlet* %store-monad ((profile - (channel-instances->derivation (instances)))) + (mlet* %store-monad ((instances + -> (latest-channel-instances store channels + #:authenticate? + authenticate?)) + (profile + (channel-instances->derivation instances))) (mbegin %store-monad (show-what-to-build* (list profile)) (built-derivations (list profile)) @@ -760,45 +771,6 @@ seconds. This procedure opens a new connection to the build daemon." (add-indirect-root* cached)) (return cached)))))) -(define* (channels->cached-profile store channels - #:key - (authenticate? #t) - (cache-directory - (%inferior-cache-directory)) - (ttl (* 3600 24 30))) - "Return a cached profile from CHANNELS using the CACHED-PROFILE procedure. -AUTHENTICATE? determines whether CHANNELS are authenticated." - (define commits - ;; Since computing the instances of CHANNELS is I/O-intensive, use a - ;; cheaper way to get the commit list of CHANNELS. This limits overhead - ;; to the minimum in case of a cache hit. - (map channel-full-commit channels)) - - (define instances - (lambda () - (latest-channel-instances store channels - #:authenticate? authenticate?))) - - (cached-profile store instances - #:cache-directory cache-directory - #:commits commits - #:ttl ttl)) - -(define* (instances->cached-profile store instances - #:key - (cache-directory - (%inferior-cache-directory)) - (ttl (* 3600 24 30))) - "Return a cached profile from INSTANCES a list of channel instances using -the CACHED-PROFILE procedure." - (define commits - (map channel-instance-commit instances)) - - (cached-profile store (lambda () instances) - #:cache-directory cache-directory - #:commits commits - #:ttl ttl)) - (define* (inferior-for-channels channels #:key (cache-directory (%inferior-cache-directory)) @@ -811,10 +783,10 @@ This is a convenience procedure that people may use in manifests passed to 'guix package -m', for instance." (define cached (with-store store - (channels->cached-profile store - channels - #:cache-directory cache-directory - #:ttl ttl))) + (cached-channel-instance store + channels + #:cache-directory cache-directory + #:ttl ttl))) (open-inferior cached)) ;;; Local Variables: diff --git a/guix/scripts/time-machine.scm b/guix/scripts/time-machine.scm index c4dca47d1d..0d27414702 100644 --- a/guix/scripts/time-machine.scm +++ b/guix/scripts/time-machine.scm @@ -142,8 +142,7 @@ Execute COMMAND ARGS... in an older version of Guix.\n")) (with-store store (with-status-verbosity (assoc-ref opts 'verbosity) (set-build-options-from-command-line store opts) - (channels->cached-profile - store channels - #:authenticate? authenticate?)))) + (cached-channel-instance store channels + #:authenticate? authenticate?)))) (executable (string-append directory "/bin/guix"))) (apply execl (cons* executable executable command-line)))))))) From a831ff6bc3f92ab4ecf6135e4d6386f14189ad06 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 10 Mar 2021 12:08:10 +0100 Subject: [PATCH 0294/1003] inferior: Use a safe symlink monadic procedure. This is a follow-up of 6ee7e3d26b8f5d2a234518cc2ab1bfeba7cd7c18. * guix/inferior.scm (cached-channel-instance): Introduce "symlink/safe" and use it instead of symlink. Remove the duplicated "file-exists?" call. --- guix/inferior.scm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/guix/inferior.scm b/guix/inferior.scm index 259be3f27d..f977f8386e 100644 --- a/guix/inferior.scm +++ b/guix/inferior.scm @@ -740,8 +740,16 @@ determines whether CHANNELS are authenticated." (string-append directory "/" file)) (scandir directory base32-encoded-sha256?))) + (define (symlink/safe old new) + (catch 'system-error + (lambda () + (symlink old new)) + (lambda args + (unless (= EEXIST (system-error-errno args)) + (apply throw args))))) + (define symlink* - (lift2 symlink %store-monad)) + (lift2 symlink/safe %store-monad)) (define add-indirect-root* (store-lift add-indirect-root)) @@ -766,9 +774,8 @@ determines whether CHANNELS are authenticated." (built-derivations (list profile)) ;; Note: Caching is fine even when AUTHENTICATE? is false because ;; we always call 'latest-channel-instances?'. - (unless (file-exists? cached) - (symlink* (derivation->output-path profile) cached) - (add-indirect-root* cached)) + (symlink* (derivation->output-path profile) cached) + (add-indirect-root* cached) (return cached)))))) (define* (inferior-for-channels channels From f8953bea858f894b406eed4a0aca0cd4c4d8671d Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 10 Mar 2021 13:59:44 +0100 Subject: [PATCH 0295/1003] gnu: cuirass: Update to 0.0.1-74.c8051f3. * gnu/packages/ci.scm (cuirass): Update to 0.0.1-74.c8051f3. --- gnu/packages/ci.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index bf1346f628..e9d975d8e5 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -66,8 +66,8 @@ (file-name (string-append name "-" version "-checkout"))))))) (define-public cuirass - (let ((commit "14e1335732271fdce730cb7e5043429ea9155201") - (revision "73")) + (let ((commit "c8051f3b6861f21b250bbf92acf7fa5ac0d5dfaa") + (revision "74")) (package (name "cuirass") (version (git-version "0.0.1" revision commit)) @@ -80,7 +80,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1xv2c4x1zbsf7ifwkmf1fjbbgbbdv33d8qx6b6iw9nnfr2022fqa")))) + "07z3859vfmxmpknlch7wd1ivnpvcxm6dsll4nh3dgygibxw9pspx")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) From 6bed29b79846077aa525ccd6b8a022a6513201df Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 10 Mar 2021 14:25:05 +0100 Subject: [PATCH 0296/1003] gnu: guix: Update to 1.2.0-15.f8953be. * gnu/packages/package-management.scm (guix): Update to 1.2.0-15.f8953be. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 4c12e85a01..60aa3f8624 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -132,8 +132,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.2.0") - (commit "112692c0d546d35cd67c5dc70dbd1dc609b18f64") - (revision 14)) + (commit "f8953bea858f894b406eed4a0aca0cd4c4d8671d") + (revision 15)) (package (name "guix") @@ -149,7 +149,7 @@ (commit commit))) (sha256 (base32 - "081m6zcgscmh3xbz1wrm7bjwj5d1fnwd8w89qbmd8z44a1iknf49")) + "0m4mdg7fnn8vji2mk7ycaqrwwmh9gdwq3xli1fwbcn0ygj4cxlc6")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments From c260aff63e9590f9930ff937e4960da7b0c9696c Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 10 Mar 2021 16:01:36 +0100 Subject: [PATCH 0297/1003] gnu: cuirass: Update to 0.0.1-75.94a7f87. * gnu/packages/ci.scm (cuirass): Update to 0.0.1-75.94a7f87. --- gnu/packages/ci.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index e9d975d8e5..25e0fe73bd 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -66,8 +66,8 @@ (file-name (string-append name "-" version "-checkout"))))))) (define-public cuirass - (let ((commit "c8051f3b6861f21b250bbf92acf7fa5ac0d5dfaa") - (revision "74")) + (let ((commit "94a7f870a7d813326e6ac6539d243a2994eca918") + (revision "75")) (package (name "cuirass") (version (git-version "0.0.1" revision commit)) @@ -80,7 +80,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "07z3859vfmxmpknlch7wd1ivnpvcxm6dsll4nh3dgygibxw9pspx")))) + "1i4mlsdlx72y829qh0cavzb9klbnxyl9kah64b473vbnl20whyny")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) From efed8e6cb955762379156b609b2c99e60428a34c Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 16:03:27 +0100 Subject: [PATCH 0298/1003] gnu: python-pikepdf: Update to 2.8.0.post2. * gnu/packages/python-xyz.scm (python-pikepdf): Update to 2.8.0.post2. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d06552c3cc..4dae9eee9e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5814,13 +5814,13 @@ the OleFileIO module from PIL, the Python Image Library.") (define-public python-pikepdf (package (name "python-pikepdf") - (version "2.8.0.post1") + (version "2.8.0.post2") (source (origin (method url-fetch) (uri (pypi-uri "pikepdf" version)) (sha256 - (base32 "08miajml3mzlaqxr8phzymshmkkm93f8vv1dvq5gzkj15kysqhpp")))) + (base32 "0ya9bir41bz61y2njlcr5ni8l6cjsy0h5vg9ayxhw7dzgcibj0yp")))) (build-system python-build-system) (arguments `(#:tests? #false)) ;require python-xmp-toolkit From c1baf9b8247f4f691b9f78fdc65ac5a1bc28f629 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 10 Mar 2021 16:41:05 +0100 Subject: [PATCH 0299/1003] gnu: cuirass: Update to 0.0.1-76.5f830da. * gnu/packages/ci.scm (cuirass): Update to 0.0.1-76.5f830da. --- gnu/packages/ci.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 25e0fe73bd..6f874165d9 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -66,8 +66,8 @@ (file-name (string-append name "-" version "-checkout"))))))) (define-public cuirass - (let ((commit "94a7f870a7d813326e6ac6539d243a2994eca918") - (revision "75")) + (let ((commit "5f830da3e3fde58044f189a0dfc30fe6aa0d8db6") + (revision "76")) (package (name "cuirass") (version (git-version "0.0.1" revision commit)) @@ -80,7 +80,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1i4mlsdlx72y829qh0cavzb9klbnxyl9kah64b473vbnl20whyny")))) + "1wkrpxpf52pf37k1v1rnlscmnj64qvpqv3rgx46x4iah0jf57yyc")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) From 8f999e1ac26d939e1dfc8fbdfa9316fb412df21a Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 10 Mar 2021 16:53:51 +0100 Subject: [PATCH 0300/1003] channels: Add the channel branch in sexp->channel. * guix/channels.scm (sexp->channel): Add the channel branch. --- guix/channels.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/channels.scm b/guix/channels.scm index f68bbcf693..b812c1b6e5 100644 --- a/guix/channels.scm +++ b/guix/channels.scm @@ -949,6 +949,7 @@ does not have the expected structure." (#f name) (('name name) name))) (url url) + (branch branch) (commit commit) (introduction (match (assq 'introduction rest) From 1a1d0fe505da18c1f43996fb7eb3652e42250d0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 9 Mar 2021 23:25:52 +0100 Subject: [PATCH 0301/1003] gnu: hwloc: Update to 2.4.1. * gnu/packages/mpi.scm (hwloc-2): Update to 2.4.1. Adjust URL. --- gnu/packages/mpi.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 2b73794409..53ee6ef1cd 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2018, 2019 Eric Bavier -;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2016 Andreas Enge ;;; Copyright © 2017 Dave Love @@ -142,18 +142,18 @@ bind processes, and much more.") (license license:bsd-3))) (define-public hwloc-2 - ;; Note: 2.0 isn't the default yet, see above. + ;; Note: 2.x isn't the default yet, see above. (package (inherit hwloc-1) - (version "2.2.0") + (version "2.4.1") (source (origin (method url-fetch) - (uri (string-append "https://www.open-mpi.org/software/hwloc/v" + (uri (string-append "https://download.open-mpi.org/release/hwloc/v" (version-major+minor version) - "/downloads/hwloc-" version ".tar.bz2")) + "/hwloc-" version ".tar.bz2")) (sha256 (base32 - "0li27a3lnmb77qxpijj0kpblz32wmqd3b386sypq8ar7vy9vhw5f")))) + "0qyywmyns2jf3is3axrwmffvdd7ji7liy5axp650q4i6kzk2291r")))) ;; libnuma is no longer needed. (inputs (alist-delete "numactl" (package-inputs hwloc-1))) From 520bac7ed00a949a0391ad680de65a1498105c2b Mon Sep 17 00:00:00 2001 From: Maxime Devos Date: Sun, 14 Feb 2021 12:57:32 +0100 Subject: [PATCH 0302/1003] services: Prevent following symlinks during activation. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This addresses a potential security issue, where a compromised service could trick the activation code in changing the permissions, owner and group of arbitrary files. However, this patch is currently only a partial fix, due to a TOCTTOU (time-of-check to time-of-use) race, which can be fixed once guile has bindings to openat and friends. Fixes: * gnu/build/activation.scm: new procedure 'mkdir-p/perms'. * gnu/services/authentication.scm (%nslcd-activation, nslcd-service-type): use new procedure. * gnu/services/cups.scm (%cups-activation): likewise. * gnu/services/dbus.scm (dbus-activation): likewise. * gnu/services/dns.scm (knot-activation): likewise. Signed-off-by: Ludovic Courtès --- gnu/build/activation.scm | 53 +++++++++++++++++++++++++++++++-- gnu/services/authentication.scm | 22 ++++++++------ gnu/services/cups.scm | 12 ++++---- gnu/services/dbus.scm | 33 ++++++++++---------- gnu/services/dns.scm | 21 +++++++------ 5 files changed, 96 insertions(+), 45 deletions(-) diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm index b458aee4ae..6cb6f8819b 100644 --- a/gnu/build/activation.scm +++ b/gnu/build/activation.scm @@ -1,6 +1,11 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès -;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès +;;; Copyright © 2013 Nikita Karetnikov +;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2015, 2018 Mark H Weaver +;;; Copyright © 2018 Arun Isaac +;;; Copyright © 2018, 2019 Ricardo Wurmus +;;; Copyright © 2021 Maxime Devos ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,7 +42,8 @@ activate-modprobe activate-firmware activate-ptrace-attach - activate-current-system)) + activate-current-system + mkdir-p/perms)) ;;; Commentary: ;;; @@ -55,6 +61,47 @@ (define (dot-or-dot-dot? file) (member file '("." ".."))) +;; Based upon mkdir-p from (guix build utils) +(define (verify-not-symbolic dir) + "Verify DIR or its ancestors aren't symbolic links." + (define absolute? + (string-prefix? "/" dir)) + + (define not-slash + (char-set-complement (char-set #\/))) + + (define (verify-component file) + (unless (eq? 'directory (stat:type (lstat file))) + (error "file name component is not a directory" dir))) + + (let loop ((components (string-tokenize dir not-slash)) + (root (if absolute? + "" + "."))) + (match components + ((head tail ...) + (let ((file (string-append root "/" head))) + (catch 'system-error + (lambda () + (verify-component file) + (loop tail file)) + (lambda args + (if (= ENOENT (system-error-errno args)) + #t + (apply throw args)))))) + (() #t)))) + +;; TODO: the TOCTTOU race can be addressed once guile has bindings +;; for fstatat, openat and friends. +(define (mkdir-p/perms directory owner bits) + "Create the directory DIRECTORY and all its ancestors. +Verify no component of DIRECTORY is a symbolic link. +Warning: this is currently suspect to a TOCTTOU race!" + (verify-not-symbolic directory) + (mkdir-p directory) + (chown directory (passwd:uid owner) (passwd:gid owner)) + (chmod directory bits)) + (define* (copy-account-skeletons home #:key (directory %skeleton-directory) diff --git a/gnu/services/authentication.scm b/gnu/services/authentication.scm index 73969a5a6d..d7efc48cd0 100644 --- a/gnu/services/authentication.scm +++ b/gnu/services/authentication.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Danny Milosavljevic ;;; Copyright © 2018, 2019 Ricardo Wurmus +;;; Copyright © 2021 Maxime Devos ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ #:use-module (guix gexp) #:use-module (guix records) #:use-module (guix packages) + #:use-module (guix modules) #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) @@ -521,6 +523,16 @@ password.") (define (pam-ldap-pam-services config) (list (pam-ldap-pam-service config))) +(define %nslcd-activation + (with-imported-modules (source-module-closure '((gnu build activation))) + #~(begin + (use-modules (gnu build activation)) + (let ((rundir "/var/run/nslcd") + (user (getpwnam "nslcd"))) + (mkdir-p/perms rundir user #o755) + (when (file-exists? "/etc/nslcd.conf") + (chmod "/etc/nslcd.conf" #o400)))))) + (define nslcd-service-type (service-type (name 'nslcd) @@ -531,15 +543,7 @@ password.") (service-extension etc-service-type nslcd-etc-service) (service-extension activation-service-type - (const #~(begin - (use-modules (guix build utils)) - (let ((rundir "/var/run/nslcd") - (user (getpwnam "nslcd"))) - (mkdir-p rundir) - (chown rundir (passwd:uid user) (passwd:gid user)) - (chmod rundir #o755) - (when (file-exists? "/etc/nslcd.conf") - (chmod "/etc/nslcd.conf" #o400)))))) + (const %nslcd-activation)) (service-extension pam-root-service-type pam-ldap-pam-services) (service-extension nscd-service-type diff --git a/gnu/services/cups.scm b/gnu/services/cups.scm index 17ed04e58b..20e3917b93 100644 --- a/gnu/services/cups.scm +++ b/gnu/services/cups.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Alex Griffin ;;; Copyright © 2019 Tobias Geerinckx-Rice +;;; Copyright © 2021 Maxime Devos ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ #:use-module (guix packages) #:use-module (guix records) #:use-module (guix gexp) + #:use-module (guix modules) #:use-module (ice-9 match) #:use-module ((srfi srfi-1) #:select (append-map find)) #:export (cups-service-type @@ -871,13 +873,11 @@ IPP specifications.") (define %cups-activation ;; Activation gexp. - (with-imported-modules '((guix build utils)) + (with-imported-modules (source-module-closure '((gnu build activation) + (guix build utils))) #~(begin - (use-modules (guix build utils)) - (define (mkdir-p/perms directory owner perms) - (mkdir-p directory) - (chown directory (passwd:uid owner) (passwd:gid owner)) - (chmod directory perms)) + (use-modules (gnu build activation) + (guix build utils)) (define (build-subject parameters) (string-concatenate (map (lambda (pair) diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm index e015d3f68d..af1a1e4c3a 100644 --- a/gnu/services/dbus.scm +++ b/gnu/services/dbus.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès ;;; Copyright © 2015 Sou Bunnbu +;;; Copyright © 2021 Maxime Devos ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (guix gexp) #:use-module ((guix packages) #:select (package-name)) #:use-module (guix records) + #:use-module (guix modules) #:use-module (srfi srfi-1) #:use-module (ice-9 match) #:export (dbus-configuration @@ -161,24 +163,23 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in (define (dbus-activation config) "Return an activation gexp for D-Bus using @var{config}." - #~(begin - (use-modules (guix build utils)) + (with-imported-modules (source-module-closure + '((gnu build activation) + (guix build utils))) + #~(begin + (use-modules (gnu build activation) + (guix build utils)) - (mkdir-p "/var/run/dbus") + (let ((user (getpwnam "messagebus"))) + ;; This directory contains the daemon's socket so it must be + ;; world-readable. + (mkdir-p/perms "/var/run/dbus" user #o755)) - (let ((user (getpwnam "messagebus"))) - (chown "/var/run/dbus" - (passwd:uid user) (passwd:gid user)) - - ;; This directory contains the daemon's socket so it must be - ;; world-readable. - (chmod "/var/run/dbus" #o755)) - - (unless (file-exists? "/etc/machine-id") - (format #t "creating /etc/machine-id...~%") - (invoke (string-append #$(dbus-configuration-dbus config) - "/bin/dbus-uuidgen") - "--ensure=/etc/machine-id")))) + (unless (file-exists? "/etc/machine-id") + (format #t "creating /etc/machine-id...~%") + (invoke (string-append #$(dbus-configuration-dbus config) + "/bin/dbus-uuidgen") + "--ensure=/etc/machine-id"))))) (define dbus-shepherd-service (match-lambda diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm index d4aefe6285..55211cb08f 100644 --- a/gnu/services/dns.scm +++ b/gnu/services/dns.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2017 Julien Lepiller ;;; Copyright © 2018 Oleg Pykhalov ;;; Copyright © 2020 Pierre Langlois +;;; Copyright © 2021 Maxime Devos ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (guix packages) #:use-module (guix records) #:use-module (guix gexp) + #:use-module (guix modules) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) @@ -607,17 +609,14 @@ (shell (file-append shadow "/sbin/nologin"))))) (define (knot-activation config) - #~(begin - (use-modules (guix build utils)) - (define (mkdir-p/perms directory owner perms) - (mkdir-p directory) - (chown directory (passwd:uid owner) (passwd:gid owner)) - (chmod directory perms)) - (mkdir-p/perms #$(knot-configuration-run-directory config) - (getpwnam "knot") #o755) - (mkdir-p/perms "/var/lib/knot" (getpwnam "knot") #o755) - (mkdir-p/perms "/var/lib/knot/keys" (getpwnam "knot") #o755) - (mkdir-p/perms "/var/lib/knot/keys/keys" (getpwnam "knot") #o755))) + (with-imported-modules (source-module-closure '((gnu build activation))) + #~(begin + (use-modules (gnu build activation)) + (mkdir-p/perms #$(knot-configuration-run-directory config) + (getpwnam "knot") #o755) + (mkdir-p/perms "/var/lib/knot" (getpwnam "knot") #o755) + (mkdir-p/perms "/var/lib/knot/keys" (getpwnam "knot") #o755) + (mkdir-p/perms "/var/lib/knot/keys/keys" (getpwnam "knot") #o755)))) (define (knot-shepherd-service config) (let* ((config-file (knot-config-file config)) From 02e2e093e858e8a0ca7bd66c1f1f6fd0a1705edb Mon Sep 17 00:00:00 2001 From: Katherine Cox-Buday Date: Thu, 22 Oct 2020 19:40:17 -0500 Subject: [PATCH 0303/1003] import: Add Go importer. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch adds a 'guix import go' command. * doc/guix.texi (Requirements): Mention Guile-Lib dependency. (Invoking guix import): Document 'guix import go'. * gnu/packages/package-management.scm (guix)[inputs, propagated-inputs]: Add GUILE-LIB. * guix/self.scm (compiled-guix)[guile-lib]: New variable. [dependencies]: Add it. (specification->package): Add "guile-lib". * guix/build-system/go.scm (go-version->git-ref): New procedure. * guix/import/go.scm, guix/scripts/import/go.scm, tests/go.scm: New files. * guix/scripts/import.scm: Declare subcommand guix import go * po/guix/POTFILES.in: Add 'guix/scripts/import/go.scm'. * Makefile.am (MODULES): Add 'guix/import/go.scm' and 'guix/scripts/import/go.scm'. (SCM_TESTS): Add 'tests/go.scm'. Co-Authored-By: Helio Machado <0x2b3bfa0@gmail.com> Co-Authored-By: Francois Joulaud Co-Authored-By: Maxim Cournoyer Co-Authored-by: Ludovic Courtès --- Makefile.am | 3 + doc/guix.texi | 26 ++ gnu/packages/package-management.scm | 3 + guix/build-system/go.scm | 35 +- guix/import/go.scm | 501 ++++++++++++++++++++++++++++ guix/scripts/import.scm | 2 +- guix/scripts/import/go.scm | 118 +++++++ guix/self.scm | 6 +- po/guix/POTFILES.in | 1 + tests/go.scm | 281 ++++++++++++++++ 10 files changed, 973 insertions(+), 3 deletions(-) create mode 100644 guix/import/go.scm create mode 100644 guix/scripts/import/go.scm create mode 100644 tests/go.scm diff --git a/Makefile.am b/Makefile.am index 0f87c958f7..f40d9509be 100644 --- a/Makefile.am +++ b/Makefile.am @@ -251,6 +251,7 @@ MODULES = \ guix/import/github.scm \ guix/import/gnome.scm \ guix/import/gnu.scm \ + guix/import/go.scm \ guix/import/hackage.scm \ guix/import/json.scm \ guix/import/kde.scm \ @@ -294,6 +295,7 @@ MODULES = \ guix/scripts/import/elpa.scm \ guix/scripts/import/gem.scm \ guix/scripts/import/gnu.scm \ + guix/scripts/import/go.scm \ guix/scripts/import/hackage.scm \ guix/scripts/import/json.scm \ guix/scripts/import/nix.scm \ @@ -455,6 +457,7 @@ SCM_TESTS = \ tests/git-authenticate.scm \ tests/glob.scm \ tests/gnu-maintenance.scm \ + tests/go.scm \ tests/grafts.scm \ tests/graph.scm \ tests/gremlin.scm \ diff --git a/doc/guix.texi b/doc/guix.texi index f01e7ca89d..77aafafd97 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -862,6 +862,10 @@ substitutes (@pxref{Invoking guix publish}). @uref{https://ngyro.com/software/guile-semver.html, Guile-Semver} for the @code{crate} importer (@pxref{Invoking guix import}). +@item +@uref{https://www.nongnu.org/guile-lib/doc/ref/htmlprag/, Guile-Lib} for +the @code{go} importer (@pxref{Invoking guix import}). + @item When @url{http://www.bzip.org, libbz2} is available, @command{guix-daemon} can use it to compress build logs. @@ -11494,6 +11498,28 @@ Select the given repository (a repository name). Possible values include: of coq packages. @end itemize @end table + +@item go +@cindex go +Import metadata for a Go module using +@uref{https://proxy.golang.org, proxy.golang.org}. + +This importer is highly experimental. See the source code for more info +about the current state. + +@example +guix import go gopkg.in/yaml.v2 +@end example + +Additional options include: + +@table @code +@item --recursive +@itemx -r +Traverse the dependency graph of the given upstream package recursively +and generate package expressions for all those packages that are not yet +in Guix. +@end table @end table The structure of the @command{guix import} code is modular. It would be diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 60aa3f8624..9bf24f8533 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -304,6 +304,7 @@ $(prefix)/etc/init.d\n"))) '((assoc-ref inputs "guile")))) (avahi (assoc-ref inputs "guile-avahi")) (gcrypt (assoc-ref inputs "guile-gcrypt")) + (guile-lib (assoc-ref inputs "guile-lib")) (json (assoc-ref inputs "guile-json")) (sqlite (assoc-ref inputs "guile-sqlite3")) (zlib (assoc-ref inputs "guile-zlib")) @@ -367,6 +368,7 @@ $(prefix)/etc/init.d\n"))) `(("guile-avahi" ,guile-avahi))) ("guile-gcrypt" ,guile-gcrypt) ("guile-json" ,guile-json-4) + ("guile-lib" ,guile-lib) ("guile-sqlite3" ,guile-sqlite3) ("guile-zlib" ,guile-zlib) ("guile-lzlib" ,guile-lzlib) @@ -422,6 +424,7 @@ $(prefix)/etc/init.d\n"))) `(("guile-avahi" ,guile-avahi))) ("guile-gcrypt" ,guile-gcrypt) ("guile-json" ,guile-json-4) + ("guile-lib" ,guile-lib) ("guile-sqlite3" ,guile-sqlite3) ("guile-ssh" ,guile-ssh) ("guile-git" ,guile-git) diff --git a/guix/build-system/go.scm b/guix/build-system/go.scm index f8ebaefb27..0e2c1cd2ee 100644 --- a/guix/build-system/go.scm +++ b/guix/build-system/go.scm @@ -26,9 +26,12 @@ #:use-module (guix build-system gnu) #:use-module (guix packages) #:use-module (ice-9 match) + #:use-module (ice-9 regex) #:export (%go-build-system-modules go-build - go-build-system)) + go-build-system + + go-version->git-ref)) ;; Commentary: ;; @@ -37,6 +40,36 @@ ;; ;; Code: +(define %go-version-rx + (make-regexp (string-append + "(v?[0-9]\\.[0-9]\\.[0-9])" ;"v" prefix can be omitted in version prefix + "(-|-pre\\.0\\.|-0\\.)" ;separator + "([0-9]{14})-" ;timestamp + "([0-9A-Fa-f]{12})"))) ;commit hash + +(define (go-version->git-ref version) + "Parse VERSION, a \"pseudo-version\" as defined at +, and extract the commit hash from +it, defaulting to full VERSION if a pseudo-version pattern is not recognized." + ;; A module version like v1.2.3 is introduced by tagging a revision in the + ;; underlying source repository. Untagged revisions can be referred to + ;; using a "pseudo-version" like v0.0.0-yyyymmddhhmmss-abcdefabcdef, where + ;; the time is the commit time in UTC and the final suffix is the prefix of + ;; the commit hash (see: https://golang.org/ref/mod#pseudo-versions). + (let* ((version + ;; If a source code repository has a v2.0.0 or later tag for a file + ;; tree with no go.mod, the version is considered to be part of the + ;; v1 module's available versions and is given an +incompatible + ;; suffix + ;; (see:https://golang.org/cmd/go/#hdr-Module_compatibility_and_semantic_versioning). + (if (string-suffix? "+incompatible" version) + (string-drop-right version 13) + version)) + (match (regexp-exec %go-version-rx version))) + (if match + (match:substring match 4) + version))) + (define %go-build-system-modules ;; Build-side modules imported and used by default. `((guix build go-build-system) diff --git a/guix/import/go.scm b/guix/import/go.scm new file mode 100644 index 0000000000..6b10c60dca --- /dev/null +++ b/guix/import/go.scm @@ -0,0 +1,501 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Katherine Cox-Buday +;;; Copyright © 2020 Helio Machado <0x2b3bfa0+guix@googlemail.com> +;;; Copyright © 2021 François Joulaud +;;; Copyright © 2021 Maxim Cournoyer +;;; +;;; 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 (guix import go) + #:use-module (guix build-system go) + #:use-module (guix git) + #:use-module (guix i18n) + #:use-module (guix diagnostics) + #:use-module (guix import utils) + #:use-module (guix import json) + #:use-module (guix packages) + #:use-module ((guix utils) #:select (string-replace-substring)) + #:use-module (guix http-client) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix memoization) + #:autoload (htmlprag) (html->sxml) ;from Guile-Lib + #:use-module (ice-9 match) + #:use-module (ice-9 rdelim) + #:use-module (ice-9 receive) + #:use-module (ice-9 regex) + #:use-module ((rnrs io ports) #:select (call-with-port)) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-9) + #:use-module (srfi srfi-11) + #:use-module (srfi srfi-26) + #:use-module (sxml xpath) + #:use-module (web client) + #:use-module (web response) + #:use-module (web uri) + + #:export (go-path-escape + go-module->guix-package + go-module-recursive-import)) + +;;; Commentary: +;;; +;;; (guix import go) attempts to make it easier to create Guix package +;;; declarations for Go modules. +;;; +;;; Modules in Go are a "collection of related Go packages" which are "the +;;; unit of source code interchange and versioning". Modules are generally +;;; hosted in a repository. +;;; +;;; At this point it should handle correctly modules which have only Go +;;; dependencies and are accessible from proxy.golang.org (or configured via +;;; GOPROXY). +;;; +;;; We want it to work more or less this way: +;;; - get latest version for the module from GOPROXY +;;; - infer VCS root repo from which we will check-out source by +;;; + recognising known patterns (like github.com) +;;; + or recognizing .vcs suffix +;;; + or parsing meta tag in HTML served at the URL +;;; + or (TODO) if nothing else works by using zip file served by GOPROXY +;;; - get go.mod from GOPROXY (which is able to synthetize one if needed) +;;; - extract list of dependencies from this go.mod +;;; +;;; The Go module paths are translated to a Guix package name under the +;;; assumption that there will be no collision. + +;;; TODO list +;;; - get correct hash in vcs->origin +;;; - print partial result during recursive imports (need to catch +;;; exceptions) + +;;; Code: + +(define (go-path-escape path) + "Escape a module path by replacing every uppercase letter with an +exclamation mark followed with its lowercase equivalent, as per the module +Escaped Paths specification (see: +https://godoc.org/golang.org/x/mod/module#hdr-Escaped_Paths)." + (define (escape occurrence) + (string-append "!" (string-downcase (match:substring occurrence)))) + (regexp-substitute/global #f "[A-Z]" path 'pre escape 'post)) + +(define (go-module-latest-version goproxy-url module-path) + "Fetch the version number of the latest version for MODULE-PATH from the +given GOPROXY-URL server." + (assoc-ref (json-fetch (format #f "~a/~a/@latest" goproxy-url + (go-path-escape module-path))) + "Version")) + + +(define (go-package-licenses name) + "Retrieve the list of licenses that apply to NAME, a Go package or module +name (e.g. \"github.com/golang/protobuf/proto\"). The data is scraped from +the https://pkg.go.dev/ web site." + (let*-values (((url) (string-append "https://pkg.go.dev/" name + "?tab=licenses")) + ((response body) (http-get url)) + ;; Extract the text contained in a h2 child node of any + ;; element marked with a "License" class attribute. + ((select) (sxpath `(// (* (@ (equal? (class "License")))) + h2 // *text*)))) + (and (eq? (response-code response) 200) + (match (select (html->sxml body)) + (() #f) ;nothing selected + (licenses licenses))))) + +(define (go.pkg.dev-info name) + (http-get (string-append "https://pkg.go.dev/" name))) +(define go.pkg.dev-info* + (memoize go.pkg.dev-info)) + +(define (go-package-description name) + "Retrieve a short description for NAME, a Go package name, +e.g. \"google.golang.org/protobuf/proto\". The data is scraped from the +https://pkg.go.dev/ web site." + (let*-values (((response body) (go.pkg.dev-info* name)) + ;; Extract the text contained in a h2 child node of any + ;; element marked with a "License" class attribute. + ((select) (sxpath + `(// (section + (@ (equal? (class "Documentation-overview")))) + (p 1))))) + (and (eq? (response-code response) 200) + (match (select (html->sxml body)) + (() #f) ;nothing selected + (((p . strings)) + ;; The paragraph text is returned as a list of strings embedding + ;; newline characters. Join them and strip the newline + ;; characters. + (string-delete #\newline (string-join strings))))))) + +(define (go-package-synopsis module-name) + "Retrieve a short synopsis for a Go module named MODULE-NAME, +e.g. \"google.golang.org/protobuf\". The data is scraped from +the https://pkg.go.dev/ web site." + ;; Note: Only the *module* (rather than package) page has the README title + ;; used as a synopsis on the https://pkg.go.dev web site. + (let*-values (((response body) (go.pkg.dev-info* module-name)) + ;; Extract the text contained in a h2 child node of any + ;; element marked with a "License" class attribute. + ((select) (sxpath + `(// (div (@ (equal? (class "UnitReadme-content")))) + // h3 *text*)))) + (and (eq? (response-code response) 200) + (match (select (html->sxml body)) + (() #f) ;nothing selected + ((title more ...) ;title is the first string of the list + (string-trim-both title)))))) + +(define (list->licenses licenses) + "Given a list of LICENSES mostly following the SPDX conventions, return the +corresponding Guix license or 'unknown-license!" + (filter-map (lambda (license) + (and (not (string-null? license)) + (not (any (cut string=? <> license) + '("AND" "OR" "WITH"))) + ;; Adjust the license names scraped from + ;; https://pkg.go.dev to an equivalent SPDX identifier, + ;; if they differ (see: https://github.com/golang/pkgsite + ;; /internal/licenses/licenses.go#L174). + (or (spdx-string->license + (match license + ("BlueOak-1.0" "BlueOak-1.0.0") + ("BSD-0-Clause" "0BSD") + ("BSD-2-Clause" "BSD-2-Clause-FreeBSD") + ("GPL2" "GPL-2.0") + ("GPL3" "GPL-3.0") + ("NIST" "NIST-PD") + (_ license))) + 'unknown-license!))) + licenses)) + +(define (fetch-go.mod goproxy-url module-path version) + "Fetches go.mod from the given GOPROXY-URL server for the given MODULE-PATH +and VERSION." + (let ((url (format #f "~a/~a/@v/~a.mod" goproxy-url + (go-path-escape module-path) + (go-path-escape version)))) + (http-fetch url))) + +(define %go.mod-require-directive-rx + ;; A line in a require directive is composed of a module path and + ;; a version separated by whitespace and an optionnal '//' comment at + ;; the end. + (make-regexp + (string-append + "^[[:blank:]]*" + "([^[:blank:]]+)[[:blank:]]+([^[:blank:]]+)" + "([[:blank:]]+//.*)?"))) + +(define %go.mod-replace-directive-rx + ;; ReplaceSpec = ModulePath [ Version ] "=>" FilePath newline + ;; | ModulePath [ Version ] "=>" ModulePath Version newline . + (make-regexp + (string-append + "([^[:blank:]]+)([[:blank:]]+([^[:blank:]]+))?" + "[[:blank:]]+" "=>" "[[:blank:]]+" + "([^[:blank:]]+)([[:blank:]]+([^[:blank:]]+))?"))) + +(define (parse-go.mod port) + "Parse the go.mod file accessible via the input PORT, returning a list of +requirements." + (define-record-type + (make-results requirements replacements) + results? + (requirements results-requirements) + (replacements results-replacements)) + ;; We parse only a subset of https://golang.org/ref/mod#go-mod-file-grammar + ;; which we think necessary for our use case. + (define (toplevel results) + "Main parser, RESULTS is a pair of alist serving as accumulator for + all encountered requirements and replacements." + (let ((line (read-line port))) + (cond + ((eof-object? line) + ;; parsing ended, give back the result + results) + ((string=? line "require (") + ;; a require block begins, delegate parsing to IN-REQUIRE + (in-require results)) + ((string=? line "replace (") + ;; a replace block begins, delegate parsing to IN-REPLACE + (in-replace results)) + ((string-prefix? "require " line) + ;; a standalone require directive + (let* ((stripped-line (string-drop line 8)) + (new-results (require-directive results stripped-line))) + (toplevel new-results))) + ((string-prefix? "replace " line) + ;; a standalone replace directive + (let* ((stripped-line (string-drop line 8)) + (new-results (replace-directive results stripped-line))) + (toplevel new-results))) + (#t + ;; unrecognised line, ignore silently + (toplevel results))))) + + (define (in-require results) + (let ((line (read-line port))) + (cond + ((eof-object? line) + ;; this should never happen here but we ignore silently + results) + ((string=? line ")") + ;; end of block, coming back to toplevel + (toplevel results)) + (#t + (in-require (require-directive results line)))))) + + (define (in-replace results) + (let ((line (read-line port))) + (cond + ((eof-object? line) + ;; this should never happen here but we ignore silently + results) + ((string=? line ")") + ;; end of block, coming back to toplevel + (toplevel results)) + (#t + (in-replace (replace-directive results line)))))) + + (define (replace-directive results line) + "Extract replaced modules and new requirements from replace directive + in LINE and add to RESULTS." + (match results + (($ requirements replaced) + (let* ((rx-match (regexp-exec %go.mod-replace-directive-rx line)) + (module-path (match:substring rx-match 1)) + (version (match:substring rx-match 3)) + (new-module-path (match:substring rx-match 4)) + (new-version (match:substring rx-match 6)) + (new-replaced (alist-cons module-path version replaced)) + (new-requirements + (if (string-match "^\\.?\\./" new-module-path) + requirements + (alist-cons new-module-path new-version requirements)))) + (make-results new-requirements new-replaced))))) + (define (require-directive results line) + "Extract requirement from LINE and add it to RESULTS." + (let* ((rx-match (regexp-exec %go.mod-require-directive-rx line)) + (module-path (match:substring rx-match 1)) + ;; we saw double-quoted string in the wild without escape + ;; sequences so we just trim the quotes + (module-path (string-trim-both module-path #\")) + (version (match:substring rx-match 2))) + (match results + (($ requirements replaced) + (make-results (alist-cons module-path version requirements) replaced))))) + + (let ((results (toplevel (make-results '() '())))) + (match results + (($ requirements replaced) + ;; At last we remove replaced modules from the requirements list + (fold + (lambda (replacedelem requirements) + (alist-delete! (car replacedelem) requirements)) + requirements + replaced))))) + +;; Prevent inlining of this procedure, which is accessed by unit tests. +(set! parse-go.mod parse-go.mod) + +(define-record-type + (%make-vcs url-prefix root-regex type) + vcs? + (url-prefix vcs-url-prefix) + (root-regex vcs-root-regex) + (type vcs-type)) +(define (make-vcs prefix regexp type) + (%make-vcs prefix (make-regexp regexp) type)) +(define known-vcs + ;; See the following URL for the official Go equivalent: + ;; https://github.com/golang/go/blob/846dce9d05f19a1f53465e62a304dea21b99f910/src/cmd/go/internal/vcs/vcs.go#L1026-L1087 + (list + (make-vcs + "github.com" + "^(github\\.com/[A-Za-z0-9_.\\-]+/[A-Za-z0-9_.\\-]+)(/[A-Za-z0-9_.\\-]+)*$" + 'git) + (make-vcs + "bitbucket.org" + "^(bitbucket\\.org/([A-Za-z0-9_.\\-]+/[A-Za-z0-9_.\\-]+))(/[A-Za-z0-9_.\\-]+)*$" + 'unknown) + (make-vcs + "hub.jazz.net/git/" + "^(hub\\.jazz\\.net/git/[a-z0-9]+/[A-Za-z0-9_.\\-]+)(/[A-Za-z0-9_.\\-]+)*$" + 'git) + (make-vcs + "git.apache.org" + "^(git\\.apache\\.org/[a-z0-9_.\\-]+\\.git)(/[A-Za-z0-9_.\\-]+)*$" + 'git) + (make-vcs + "git.openstack.org" + "^(git\\.openstack\\.org/[A-Za-z0-9_.\\-]+/[A-Za-z0-9_.\\-]+)(\\.git)?\ +(/[A-Za-z0-9_.\\-]+)*$" + 'git))) + +(define (module-path->repository-root module-path) + "Infer the repository root from a module path. Go modules can be +defined at any level of a repository tree, but querying for the meta tag +usually can only be done from the web page at the root of the repository, +hence the need to derive this information." + + ;; For reference, see: https://golang.org/ref/mod#vcs-find. + (define vcs-qualifiers '(".bzr" ".fossil" ".git" ".hg" ".svn")) + + (define (vcs-qualified-module-path->root-repo-url module-path) + (let* ((vcs-qualifiers-group (string-join vcs-qualifiers "|")) + (pattern (format #f "^(.*(~a))(/|$)" vcs-qualifiers-group)) + (m (string-match pattern module-path))) + (and=> m (cut match:substring <> 1)))) + + (or (and=> (find (lambda (vcs) + (string-prefix? (vcs-url-prefix vcs) module-path)) + known-vcs) + (lambda (vcs) + (match:substring (regexp-exec (vcs-root-regex vcs) + module-path) 1))) + (vcs-qualified-module-path->root-repo-url module-path) + module-path)) + +(define (go-module->guix-package-name module-path) + "Converts a module's path to the canonical Guix format for Go packages." + (string-downcase (string-append "go-" (string-replace-substring + (string-replace-substring + module-path + "." "-") + "/" "-")))) + +(define-record-type + (make-module-meta import-prefix vcs repo-root) + module-meta? + (import-prefix module-meta-import-prefix) + (vcs module-meta-vcs) ;a symbol + (repo-root module-meta-repo-root)) + +(define (fetch-module-meta-data module-path) + "Retrieve the module meta-data from its landing page. This is necessary +because goproxy servers don't currently provide all the information needed to +build a package." + ;; + (let* ((port (http-fetch (format #f "https://~a?go-get=1" module-path))) + (select (sxpath `(// head (meta (@ (equal? (name "go-import")))) + // content)))) + (match (select (call-with-port port html->sxml)) + (() #f) ;nothing selected + (((content content-text)) + (match (string-split content-text #\space) + ((root-path vcs repo-url) + (make-module-meta root-path (string->symbol vcs) repo-url))))))) + +(define (module-meta-data-repo-url meta-data goproxy-url) + "Return the URL where the fetcher which will be used can download the +source." + (if (member (module-meta-vcs meta-data) '(fossil mod)) + goproxy-url + (module-meta-repo-root meta-data))) + +(define (vcs->origin vcs-type vcs-repo-url version) + "Generate the `origin' block of a package depending on what type of source +control system is being used." + (case vcs-type + ((git) + (let ((plain-version? (string=? version (go-version->git-ref version))) + (v-prefixed? (string-prefix? "v" version))) + `(origin + (method git-fetch) + (uri (git-reference + (url ,vcs-repo-url) + (commit ,(if (and plain-version? v-prefixed?) + '(string-append "v" version) + '(go-version->git-ref version))))) + (file-name (git-file-name name version)) + (sha256 + (base32 + ;; FIXME: populate hash for git repo checkout + "0000000000000000000000000000000000000000000000000000"))))) + ((hg) + `(origin + (method hg-fetch) + (uri (hg-reference + (url ,vcs-repo-url) + (changeset ,version))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + ;; FIXME: populate hash for hg repo checkout + "0000000000000000000000000000000000000000000000000000")))) + ((svn) + `(origin + (method svn-fetch) + (uri (svn-reference + (url ,vcs-repo-url) + (revision (string->number version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + ;; FIXME: populate hash for svn repo checkout + "0000000000000000000000000000000000000000000000000000")))) + (else + (raise + (formatted-message (G_ "unsupported vcs type '~a' for package '~a'") + vcs-type vcs-repo-url))))) + +(define* (go-module->guix-package module-path #:key + (goproxy-url "https://proxy.golang.org")) + (let* ((latest-version (go-module-latest-version goproxy-url module-path)) + (port (fetch-go.mod goproxy-url module-path latest-version)) + (dependencies (map car (call-with-port port parse-go.mod))) + (guix-name (go-module->guix-package-name module-path)) + (root-module-path (module-path->repository-root module-path)) + ;; The VCS type and URL are not included in goproxy information. For + ;; this we need to fetch it from the official module page. + (meta-data (fetch-module-meta-data root-module-path)) + (vcs-type (module-meta-vcs meta-data)) + (vcs-repo-url (module-meta-data-repo-url meta-data goproxy-url)) + (synopsis (go-package-synopsis root-module-path)) + (description (go-package-description module-path)) + (licenses (go-package-licenses module-path))) + (values + `(package + (name ,guix-name) + ;; Elide the "v" prefix Go uses + (version ,(string-trim latest-version #\v)) + (source + ,(vcs->origin vcs-type vcs-repo-url latest-version)) + (build-system go-build-system) + (arguments + '(#:import-path ,root-module-path)) + ,@(maybe-inputs (map go-module->guix-package-name dependencies)) + (home-page ,(format #f "https://~a" root-module-path)) + (synopsis ,synopsis) + (description ,description) + (license ,(match (and=> licenses list->licenses) + ((license) license) + ((licenses ...) `(list ,@licenses)) + (x x)))) + dependencies))) + +(define go-module->guix-package* (memoize go-module->guix-package)) + +(define* (go-module-recursive-import package-name + #:key (goproxy-url "https://proxy.golang.org")) + (recursive-import + package-name + #:repo->guix-package (lambda* (name . _) + (go-module->guix-package* + name + #:goproxy-url goproxy-url)) + #:guix-name go-module->guix-package-name)) diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm index 0a3863f965..1d2b45d942 100644 --- a/guix/scripts/import.scm +++ b/guix/scripts/import.scm @@ -77,7 +77,7 @@ rather than \\n." ;;; (define importers '("gnu" "nix" "pypi" "cpan" "hackage" "stackage" "elpa" "gem" - "cran" "crate" "texlive" "json" "opam")) + "go" "cran" "crate" "texlive" "json" "opam")) (define (resolve-importer name) (let ((module (resolve-interface diff --git a/guix/scripts/import/go.scm b/guix/scripts/import/go.scm new file mode 100644 index 0000000000..afdba4e8f1 --- /dev/null +++ b/guix/scripts/import/go.scm @@ -0,0 +1,118 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright 2020 Katherine Cox-Buday +;;; +;;; 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 (guix scripts import go) + #:use-module (guix ui) + #:use-module (guix utils) + #:use-module (guix scripts) + #:use-module (guix import go) + #:use-module (guix scripts import) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) + #:use-module (srfi srfi-37) + #:use-module (ice-9 match) + #:use-module (ice-9 format) + #:export (guix-import-go)) + + +;;; +;;; Command-line options. +;;; + +(define %default-options + '()) + +(define (show-help) + (display (G_ "Usage: guix import go PACKAGE-PATH +Import and convert the Go module for PACKAGE-PATH.\n")) + (display (G_ " + -h, --help display this help and exit")) + (display (G_ " + -V, --version display version information and exit")) + (display (G_ " + -r, --recursive generate package expressions for all Go modules\ + that are not yet in Guix")) + (display (G_ " + -p, --goproxy=GOPROXY specify which goproxy server to use")) + (newline) + (show-bug-report-information)) + +(define %options + ;; Specification of the command-line options. + (cons* (option '(#\h "help") #f #f + (lambda args + (show-help) + (exit 0))) + (option '(#\V "version") #f #f + (lambda args + (show-version-and-exit "guix import go"))) + (option '(#\r "recursive") #f #f + (lambda (opt name arg result) + (alist-cons 'recursive #t result))) + (option '(#\p "goproxy") #t #f + (lambda (opt name arg result) + (alist-cons 'goproxy + (string->symbol arg) + (alist-delete 'goproxy result)))) + %standard-import-options)) + + +;;; +;;; Entry point. +;;; + +(define (guix-import-go . args) + (define (parse-options) + ;; Return the alist of option values. + (args-fold* args %options + (lambda (opt name arg result) + (leave (G_ "~A: unrecognized option~%") name)) + (lambda (arg result) + (alist-cons 'argument arg result)) + %default-options)) + + (let* ((opts (parse-options)) + (args (filter-map (match-lambda + (('argument . value) + value) + (_ #f)) + (reverse opts)))) + (match args + ((module-name) + (if (assoc-ref opts 'recursive) + (map (match-lambda + ((and ('package ('name name) . rest) pkg) + `(define-public ,(string->symbol name) + ,pkg)) + (_ #f)) + (go-module-recursive-import module-name + #:goproxy-url + (or (assoc-ref opts 'goproxy) + "https://proxy.golang.org"))) + (let ((sexp (go-module->guix-package module-name + #:goproxy-url + (or (assoc-ref opts 'goproxy) + "https://proxy.golang.org")))) + (unless sexp + (leave (G_ "failed to download meta-data for module '~a'~%") + module-name)) + sexp))) + (() + (leave (G_ "too few arguments~%"))) + ((many ...) + (leave (G_ "too many arguments~%")))))) diff --git a/guix/self.scm b/guix/self.scm index 35fba1152d..3154d180ac 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -56,6 +56,7 @@ ("guile-ssh" (ref '(gnu packages ssh) 'guile-ssh)) ("guile-git" (ref '(gnu packages guile) 'guile-git)) ("guile-semver" (ref '(gnu packages guile-xyz) 'guile-semver)) + ("guile-lib" (ref '(gnu packages guile-xyz) 'guile-lib)) ("guile-sqlite3" (ref '(gnu packages guile) 'guile-sqlite3)) ("guile-zlib" (ref '(gnu packages guile) 'guile-zlib)) ("guile-lzlib" (ref '(gnu packages guile) 'guile-lzlib)) @@ -814,6 +815,9 @@ itself." (define guile-ssh (specification->package "guile-ssh")) + (define guile-lib + (specification->package "guile-lib")) + (define guile-git (specification->package "guile-git")) @@ -842,7 +846,7 @@ itself." (append-map transitive-package-dependencies (list guile-gcrypt gnutls guile-git guile-avahi guile-json guile-semver guile-ssh guile-sqlite3 - guile-zlib guile-lzlib guile-zstd))) + guile-lib guile-zlib guile-lzlib guile-zstd))) (define *core-modules* (scheme-node "guix-core" diff --git a/po/guix/POTFILES.in b/po/guix/POTFILES.in index 666e630adf..cbbfe1e76b 100644 --- a/po/guix/POTFILES.in +++ b/po/guix/POTFILES.in @@ -101,6 +101,7 @@ guix/scripts/import/cpan.scm guix/scripts/import/crate.scm guix/scripts/import/gem.scm guix/scripts/import/gnu.scm +guix/scripts/import/go.scm guix/scripts/import/hackage.scm guix/scripts/import/json.scm guix/scripts/import/nix.scm diff --git a/tests/go.scm b/tests/go.scm new file mode 100644 index 0000000000..1df5036838 --- /dev/null +++ b/tests/go.scm @@ -0,0 +1,281 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright 2021 Franois Joulaud +;;; +;;; 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 . + +;;; Summary +;; Tests for guix/import/go.scm + +(define-module (test-import-go) + #:use-module (guix base32) + #:use-module (guix build-system go) + #:use-module (guix import go) + #:use-module (guix tests) + #:use-module (ice-9 match) + #:use-module (srfi srfi-19) + #:use-module (srfi srfi-64) + #:use-module (web response)) + +(define parse-go.mod + (@@ (guix import go) parse-go.mod)) + +(define fixture-go-mod-simple + "module my/thing +go 1.12 +require other/thing v1.0.2 +require new/thing/v2 v2.3.4 +exclude old/thing v1.2.3 +replace bad/thing v1.4.5 => good/thing v1.4.5 +") + +(define fixture-go-mod-with-block + "module M + +require ( + A v1 + B v1.0.0 + C v1.0.0 + D v1.2.3 + E dev +) + +exclude D v1.2.3 +") + + +(define fixture-go-mod-complete + "module M + +go 1.13 + +replace github.com/myname/myproject/myapi => ./api + +replace github.com/mymname/myproject/thissdk => ../sdk + +replace launchpad.net/gocheck => github.com/go-check/check v0.0.0-20140225173054-eb6ee6f84d0a + +require ( + github.com/user/project v1.1.11 + github.com/user/project/sub/directory v1.1.12 + bitbucket.org/user/project v1.11.20 + bitbucket.org/user/project/sub/directory v1.11.21 + launchpad.net/project v1.1.13 + launchpad.net/project/series v1.1.14 + launchpad.net/project/series/sub/directory v1.1.15 + launchpad.net/~user/project/branch v1.1.16 + launchpad.net/~user/project/branch/sub/directory v1.1.17 + hub.jazz.net/git/user/project v1.1.18 + hub.jazz.net/git/user/project/sub/directory v1.1.19 + k8s.io/kubernetes/subproject v1.1.101 + one.example.com/abitrary/repo v1.1.111 + two.example.com/abitrary/repo v0.0.2 + \"quoted.example.com/abitrary/repo\" v0.0.2 +) + +replace two.example.com/abitrary/repo => github.com/corp/arbitrary-repo v0.0.2 + +replace ( + golang.org/x/sys => golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a // pinned to release-branch.go1.13 + golang.org/x/tools => golang.org/x/tools v0.0.0-20190821162956-65e3620a7ae7 // pinned to release-branch.go1.13 +) + +") + + + +(define fixture-latest-for-go-check + "{\"Version\":\"v0.0.0-20201130134442-10cb98267c6c\",\"Time\":\"2020-11-30T13:44:42Z\"}") + + +(define fixtures-go-check-test + (let ((version + "{\"Version\":\"v0.0.0-20201130134442-10cb98267c6c\",\"Time\":\"2020-11-30T13:44:42Z\"}") + (go.mod + "module gopkg.in/check.v1 + +go 1.11 + +require github.com/kr/pretty v0.2.1 +") + (go-get + " + + + + + + + + GitHub - go-check/check: Rich testing for the Go language + + + + + + + + + + + + +") + (pkg.go.dev "\n\n\n \n\n\n
\n
\n
\n
\n
\n

\"\"README

\n
\n
\n

Instructions

\n

Install the package with:

\n
go get gopkg.in/check.v1\n
\n
\n
\n
\n
\n
\n

\"\"Documentation

\n
\n
\n
\n

Overview

\n
\n
    \n
    \n

    Package check is a rich testing extension for Go's testing package.

    \n

    For details about the project, see:

    \n
    http://labix.org/gocheck\n
    \n
    \n

    Constants

    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n") + (pkg.go.dev-licence "\n\n\n\n\n
    \n
    \n

    BSD-2-Clause

    \n

    This is not legal advice. Read disclaimer.

    \n
    Gocheck - A rich testing framework for Go\n \nCopyright line\n\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met: \n\n1. Redistributions of source code must retain the above copyright notice, this\n   list of conditions and the following disclaimer. \n2. Redistributions in binary form must reproduce the above copyright notice,\n   this list of conditions and the following disclaimer in the documentation\n   and/or other materials provided with the distribution. \n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\nON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n
    \n
    \n
    Source: github.com/go-check/check@v0.0.0-20201128035030-22ab2dfb190c/LICENSE
    \n
    \n \n")) + `(("https://proxy.golang.org/github.com/go-check/check/@v/v0.0.0-20201130134442-10cb98267c6c.mod" + . ,go.mod) + ("https://proxy.golang.org/github.com/go-check/check/@latest" + . ,version) + ("https://github.com/go-check/check?go-get=1" + . ,go-get) + ("https://pkg.go.dev/github.com/go-check/check" + . ,pkg.go.dev) + ("https://pkg.go.dev/github.com/go-check/check?tab=licenses" + . ,pkg.go.dev-licence)))) + +(test-begin "go") + +;;; Unit tests for go build-system + +(test-equal "go-version basic" + "v1.0.2" + (go-version->git-ref "v1.0.2")) + +(test-equal "go-version omited 'v' character" + "v1.0.2" + (go-version->git-ref "v1.0.2")) + +(test-equal "go-version with embeded git-ref" + "65e3620a7ae7" + (go-version->git-ref "v0.0.0-20190821162956-65e3620a7ae7")) + +(test-equal "go-version with complex embeded git-ref" + "daa7c04131f5" + (go-version->git-ref "v1.2.4-0.20191109021931-daa7c04131f5")) + +;;; Unit tests for (guix import go) + +(test-equal "go-path-escape" + "github.com/!azure/!avere" + ((@@ (guix import go) go-path-escape) "github.com/Azure/Avere")) + + +;; We define a function for all similar tests with different go.mod files +(define (testing-parse-mod name expected input) + (define (inf? p1 p2) + (stringguix-package" + '(package + (name "go-github-com-go-check-check") + (version "0.0.0-20201130134442-10cb98267c6c") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/go-check/check.git") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system go-build-system) + (arguments + (quote (#:import-path "github.com/go-check/check"))) + (inputs + (quasiquote (("go-github-com-kr-pretty" + (unquote go-github-com-kr-pretty))))) + (home-page "https://github.com/go-check/check") + (synopsis "Instructions") + (description #f) + (license license:bsd-2)) + + ;; Replace network resources with sample data. + (mock ((web client) http-get + (mock-http-get fixtures-go-check-test)) + (mock ((guix http-client) http-fetch + (mock-http-fetch fixtures-go-check-test)) + (go-module->guix-package "github.com/go-check/check")))) + +(test-end "go") + From d028aef31c9dd05c0390addc3d7f419e41c530ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 10 Mar 2021 17:48:14 +0100 Subject: [PATCH 0304/1003] import: go: Compute the hash of Git checkouts. * guix/import/go.scm (vcs-file?, file-hash, git-checkout-hash): New procedures. (vcs->origin): Use 'git-checkout-hash' in the 'git case. --- guix/import/go.scm | 50 ++++++++++++++++++++++++++++++++++++++++++++-- tests/go.scm | 23 +++++++++++++++------ 2 files changed, 65 insertions(+), 8 deletions(-) diff --git a/guix/import/go.scm b/guix/import/go.scm index 6b10c60dca..7452b4c903 100644 --- a/guix/import/go.scm +++ b/guix/import/go.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2020 Helio Machado <0x2b3bfa0+guix@googlemail.com> ;;; Copyright © 2021 François Joulaud ;;; Copyright © 2021 Maxim Cournoyer +;;; Copyright © 2021 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,6 +33,11 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix memoization) #:autoload (htmlprag) (html->sxml) ;from Guile-Lib + #:autoload (guix git) (update-cached-checkout) + #:autoload (gcrypt hash) (open-hash-port hash-algorithm sha256) + #:autoload (guix serialization) (write-file) + #:autoload (guix base32) (bytevector->nix-base32-string) + #:autoload (guix build utils) (mkdir-p) #:use-module (ice-9 match) #:use-module (ice-9 rdelim) #:use-module (ice-9 receive) @@ -407,6 +413,45 @@ source." goproxy-url (module-meta-repo-root meta-data))) +;; XXX: Copied from (guix scripts hash). +(define (vcs-file? file stat) + (case (stat:type stat) + ((directory) + (member (basename file) '(".bzr" ".git" ".hg" ".svn" "CVS"))) + ((regular) + ;; Git sub-modules have a '.git' file that is a regular text file. + (string=? (basename file) ".git")) + (else + #f))) + +;; XXX: Adapted from 'file-hash' in (guix scripts hash). +(define* (file-hash file #:optional (algorithm (hash-algorithm sha256))) + ;; Compute the hash of FILE. + (let-values (((port get-hash) (open-hash-port algorithm))) + (write-file file port #:select? (negate vcs-file?)) + (force-output port) + (get-hash))) + +(define* (git-checkout-hash url reference algorithm) + "Return the ALGORITHM hash of the checkout of URL at REFERENCE, a commit or +tag." + (define cache + (string-append (or (getenv "TMPDIR") "/tmp") + "/guix-import-go-" + (passwd:name (getpwuid (getuid))))) + + ;; Use a custom cache to avoid cluttering the default one under + ;; ~/.cache/guix, but choose one under /tmp so that it's persistent across + ;; subsequent "guix import" invocations. + (mkdir-p cache) + (chmod cache #o700) + (let-values (((checkout commit _) + (parameterize ((%repository-cache-directory cache)) + (update-cached-checkout url + #:ref + `(tag-or-commit . ,reference))))) + (file-hash checkout algorithm))) + (define (vcs->origin vcs-type vcs-repo-url version) "Generate the `origin' block of a package depending on what type of source control system is being used." @@ -424,8 +469,9 @@ control system is being used." (file-name (git-file-name name version)) (sha256 (base32 - ;; FIXME: populate hash for git repo checkout - "0000000000000000000000000000000000000000000000000000"))))) + ,(bytevector->nix-base32-string + (git-checkout-hash vcs-repo-url (go-version->git-ref version) + (hash-algorithm sha256)))))))) ((hg) `(origin (method hg-fetch) diff --git a/tests/go.scm b/tests/go.scm index 1df5036838..6ab99f508a 100644 --- a/tests/go.scm +++ b/tests/go.scm @@ -23,6 +23,8 @@ #:use-module (guix base32) #:use-module (guix build-system go) #:use-module (guix import go) + #:use-module (guix base32) + #:use-module ((guix utils) #:select (call-with-temporary-directory)) #:use-module (guix tests) #:use-module (ice-9 match) #:use-module (srfi srfi-19) @@ -258,7 +260,7 @@ require github.com/kr/pretty v0.2.1 (file-name (git-file-name name version)) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5")))) (build-system go-build-system) (arguments (quote (#:import-path "github.com/go-check/check"))) @@ -271,11 +273,20 @@ require github.com/kr/pretty v0.2.1 (license license:bsd-2)) ;; Replace network resources with sample data. - (mock ((web client) http-get - (mock-http-get fixtures-go-check-test)) - (mock ((guix http-client) http-fetch - (mock-http-fetch fixtures-go-check-test)) - (go-module->guix-package "github.com/go-check/check")))) + (call-with-temporary-directory + (lambda (checkout) + (mock ((web client) http-get + (mock-http-get fixtures-go-check-test)) + (mock ((guix http-client) http-fetch + (mock-http-fetch fixtures-go-check-test)) + (mock ((guix git) update-cached-checkout + (lambda* (url #:key ref) + ;; Return an empty directory and its hash. + (values checkout + (nix-base32-string->bytevector + "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5") + #f))) + (go-module->guix-package "github.com/go-check/check"))))))) (test-end "go") From 2673324efac039d9986c5bf440e8806f853d4220 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 10 Mar 2021 18:01:12 +0100 Subject: [PATCH 0305/1003] news: Add entry for 'guix import go'. * etc/news.scm: Add entry. --- etc/news.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/etc/news.scm b/etc/news.scm index ff90afc8dc..d1b9b422f7 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -19,6 +19,20 @@ (channel-news (version 0) + (entry (commit "02e2e093e858e8a0ca7bd66c1f1f6fd0a1705edb") + (title + (en "New @command{guix import go} command")) + (body + (en "The new @command{guix import go} command allows packagers to +generate a package definition or a template thereof given the name of a Go +package available through @url{https://proxy.golang.org}, like so: + +@example +guix import go golang.org/x/sys +@end example + +Run @command{info \"(guix) Invoking guix import\"} for more info."))) + (entry (commit "1b5b882120daf7d111aa351a919a90e818324347") (title (en "The @code{linux-libre} kernel is updated to 5.11.2") From c3e53066bd512d7acd4a80fe3248296e10c56b06 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 10 Mar 2021 17:52:54 +0100 Subject: [PATCH 0306/1003] gnu: sbcl-hu.dwim.defclass-star: Update to 20210309. * gnu/packages/lisp-xyz.scm (sbcl-hu.dwim.defclass-star): Update to 20210309. --- gnu/packages/lisp-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index acef021314..673266b40a 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -12170,12 +12170,12 @@ hu.dwim systems.") (sbcl-package->ecl-package sbcl-hu.dwim.common)) (define-public sbcl-hu.dwim.defclass-star - (let ((commit "39d458f1b1bc830d1f5e18a6a35bf0e96a2cfd61")) + (let ((commit "3086878a485074f9b2913c58267a9b764cd632fd")) (package (name "sbcl-hu.dwim.defclass-star") ;; We used to set version from the date when it was a darcs repo, so we ;; keep the year so that package gets updated on previous installs. - (version (git-version "2021" "1" commit)) + (version (git-version "2021" "2" commit)) (source (origin (method git-fetch) @@ -12184,7 +12184,7 @@ hu.dwim systems.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0hfkq2wad98vkyxdg1wh18y86d9w9yqkm8lxkk96szvpwymm7lmq")))) + (base32 "19ipds9r71qymfdp4izg0l7zmvinp06adr8rdalhaq7v7mzpg83z")))) (build-system asdf-build-system/sbcl) (native-inputs `( ;; These 2 inputs are only needed tests which are disabled, see below. From 336088d5216da023983801201b7cecdafe31ff48 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 10 Mar 2021 18:07:56 +0100 Subject: [PATCH 0307/1003] gnu: Add fof. * gnu/packages/lisp-xyz.scm (cl-fof, ecl-fof, sbcl-fof): New variables. --- gnu/packages/lisp-xyz.scm | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 673266b40a..eb84a9afdd 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -81,6 +81,7 @@ #:use-module (gnu packages sqlite) #:use-module (gnu packages tcl) #:use-module (gnu packages tls) + #:use-module (gnu packages video) #:use-module (gnu packages web) #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) @@ -15262,3 +15263,56 @@ line tool @code{df} and get disk space information using @code{statvfs}.") (define-public cl-diskspace (sbcl-package->cl-source-package sbcl-cl-diskspace)) + +(define-public sbcl-fof + (package + (name "sbcl-fof") + (version "0.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/ambrevar/fof") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1xdnlqrjfmgdgw58avkci881iwarv4am2vq09b14pfifmpxpzv10")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "ffprobe.lisp" + (("\\(defvar \\*ffprobe-command\\* \"ffprobe\"\\)") + (format #f "(defvar *ffprobe-command* \"~a/bin/ffprobe\")" + (assoc-ref inputs "ffmpeg") ))) + #t))))) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("hu.dwim.defclass-star" ,sbcl-hu.dwim.defclass-star) + ("local-time" ,sbcl-local-time) + ("magicffi" ,sbcl-magicffi) + ("osicat" ,sbcl-osicat) + ("serapeum" ,sbcl-serapeum) + ("str" ,sbcl-cl-str) + ("trivia" ,sbcl-trivia) + ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames) + ;; Non-CL deps: + ("ffmpeg" ,ffmpeg))) + (home-page "https://gitlab.com/ambrevar/fof") + (synopsis "File object finder library for Common Lisp") + (description + "This library enable rapid file search, inspection and manipulation +straight from the REPL. +It aims at replacing Unix tools such as @code{find} or @code{du}. +It also offers a replacement to the @code{pathname} Common Lisp API. +Slot writers which commit changes to disk, e.g. permissions, modification +time, etc.") + (license license:gpl3+))) + +(define-public ecl-fof + (sbcl-package->ecl-package sbcl-fof)) + +(define-public cl-fof + (sbcl-package->cl-source-package sbcl-fof)) From 6e70211b20537b018e639b0114d3ccddd4924acb Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 10 Mar 2021 18:19:20 +0100 Subject: [PATCH 0308/1003] gnu: sbcl-quri: Update to 0.3.0. * gnu/packages/lisp-xyz.scm (sbcl-quri): Update to 0.3.0. --- gnu/packages/lisp-xyz.scm | 60 +++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index eb84a9afdd..e15185339b 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -4331,38 +4331,36 @@ addition, removal, and random selection.") (sbcl-package->ecl-package sbcl-map-set)) (define-public sbcl-quri - (let ((commit "d7f2720568146c6674187f625f115925e6364a7f") - (revision "4")) - (package - (name "sbcl-quri") - (version (git-version "0.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/quri") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0yrcvz5ksfr7x8yx741vp65il0fxxaskppq3iyk9bq895s1jn37w")))) - (build-system asdf-build-system/sbcl) - (arguments - ;; Test system must be loaded before, otherwise tests fail with: - ;; Component QURI-ASD::QURI-TEST not found, required by #. - '(#:asd-systems '("quri-test" - "quri"))) - (native-inputs `(("sbcl-prove" ,sbcl-prove))) - (inputs `(("sbcl-babel" ,sbcl-babel) - ("sbcl-split-sequence" ,sbcl-split-sequence) - ("sbcl-cl-utilities" ,sbcl-cl-utilities) - ("sbcl-alexandria" ,sbcl-alexandria))) - (home-page "https://github.com/fukamachi/quri") - (synopsis "Yet another URI library for Common Lisp") - (description - "QURI (pronounced \"Q-ree\") is yet another URI library for Common + (package + (name "sbcl-quri") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fukamachi/quri") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1pkvpiwwhx2fcknr7x47h7036ypkg8xzsskqbl5z315ipfmi8s2m")))) + (build-system asdf-build-system/sbcl) + (arguments + ;; Test system must be loaded before, otherwise tests fail with: + ;; Component QURI-ASD::QURI-TEST not found, required by #. + '(#:asd-systems '("quri-test" + "quri"))) + (native-inputs `(("sbcl-prove" ,sbcl-prove))) + (inputs `(("sbcl-babel" ,sbcl-babel) + ("sbcl-split-sequence" ,sbcl-split-sequence) + ("sbcl-cl-utilities" ,sbcl-cl-utilities) + ("sbcl-alexandria" ,sbcl-alexandria))) + (home-page "https://github.com/fukamachi/quri") + (synopsis "Yet another URI library for Common Lisp") + (description + "QURI (pronounced \"Q-ree\") is yet another URI library for Common Lisp. It is intended to be a replacement of PURI.") - (license license:bsd-3)))) + (license license:bsd-3))) (define-public cl-quri (sbcl-package->cl-source-package sbcl-quri)) From 60174c9c8c307be43450af38ce7c4e268278e07c Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 10 Mar 2021 19:26:14 +0100 Subject: [PATCH 0309/1003] gnu: cuirass: Update to 0.0.1-77.88f3cf6. * gnu/packages/ci.scm (cuirass): Update to 0.0.1-77.88f3cf6. --- gnu/packages/ci.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 6f874165d9..8b1bb2986f 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -66,8 +66,8 @@ (file-name (string-append name "-" version "-checkout"))))))) (define-public cuirass - (let ((commit "5f830da3e3fde58044f189a0dfc30fe6aa0d8db6") - (revision "76")) + (let ((commit "88f3cf65e0b5974c6525d498ebffc607bc62baf0") + (revision "77")) (package (name "cuirass") (version (git-version "0.0.1" revision commit)) @@ -80,7 +80,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1wkrpxpf52pf37k1v1rnlscmnj64qvpqv3rgx46x4iah0jf57yyc")))) + "1mwi6i400kjdkfccvbc49fka18dhkcl0rbiqylgpb7lh0pzss9j7")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) From b1eb7448370bbd4d494cf9f3fddae88dd0de2ca3 Mon Sep 17 00:00:00 2001 From: Taylan Kammer Date: Wed, 10 Mar 2021 19:55:35 +0100 Subject: [PATCH 0310/1003] gnu: guile-bytestructures: Update to 1.0.10. * gnu/packages/guile.scm (guile-bytestructures): Update to 1.0.10. Signed-off-by: Tobias Geerinckx-Rice See: --- gnu/packages/guile.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 650fe1289a..8bf250a625 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -725,7 +725,7 @@ Guile's foreign function interface.") (define-public guile-bytestructures (package (name "guile-bytestructures") - (version "1.0.9") + (version "1.0.10") (home-page "https://github.com/TaylanUB/scheme-bytestructures") (source (origin (method git-fetch) @@ -735,7 +735,7 @@ Guile's foreign function interface.") (file-name (git-file-name name version)) (sha256 (base32 - "0r59sqrvwbsknw21bf44bppi6wdhd2rl2v5dw9i2vij3v8w7pgkm")))) + "14k50jln32kkxv41hvsdgjkkfj6xlv06vc1caz01qkgk1fzh72nk")))) (build-system gnu-build-system) (arguments `(#:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings From 1997ded2f4b3a1e6f8a668edef505151b2d8a514 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 13:06:39 +0100 Subject: [PATCH 0311/1003] gnu: python-django: Update to 3.1.7 [security fixes]. * gnu/packages/django.scm (python-django): Update to 3.1.7. --- gnu/packages/django.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index aa4411c5a2..ec967efdf1 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -47,13 +47,13 @@ (define-public python-django (package (name "python-django") - (version "3.1.3") + (version "3.1.7") (source (origin (method url-fetch) (uri (pypi-uri "Django" version)) (sha256 (base32 - "13rz3v0bwk8i3xcccn5awbafahab3cyk8wwv57v2xazdzxspgf0l")))) + "19v5lfijnjx18y9ax962z3gnbxy9k8i3w4j0qfzcp85nx4p7kkij")))) (build-system python-build-system) (arguments '(#:phases From 6c5d358cc25ca94d9c0c75a3a086e81b2d63d1b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 21:49:37 +0100 Subject: [PATCH 0312/1003] gnu: python-django-2.2: Update to 2.2.19 [security fixes]. * gnu/packages/django.scm (python-django-2.2): Update to 2.2.19. --- gnu/packages/django.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index ec967efdf1..66287599f1 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -132,13 +132,13 @@ to the @dfn{don't repeat yourself} (DRY) principle.") (define-public python-django-2.2 (package (inherit python-django) - (version "2.2.17") + (version "2.2.19") (source (origin (method url-fetch) (uri (pypi-uri "Django" version)) (sha256 (base32 - "0qdq0h2gw45j0h9j22c2sdn49ybl7jsrcyraskb9snknsyj70lyg")))) + "0hysjf8bz4g8xrn2cdx6pmawimpyr6ag2fg3jxsnc1byr3g3bhih")))) (native-inputs `(;; XXX: In 2.2 and 3.0, selenium is required for the test suite. ("python-selenium" ,python-selenium) From b610e4b9a7d4423603cac1da4f16475fb1e03e83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 22:22:04 +0100 Subject: [PATCH 0313/1003] gnu: lib3mf: Update to 2.1.1 [security fixes]. Non-exhaustively, fixes CVE-2021-21772. * gnu/packages/engineering.scm (lib3mf): Update to 2.1.1. [arguments]<#:phases>: Remove. [arguments]<#:configure-flags>: Do not use zlib, libzip, gtest and libressl vendored sources. [native-inputs]: Remove googletest-source, add googletest and pkg-config. [inputs]: Add libzip, libressl and zlib. --- gnu/packages/engineering.scm | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index f560a15aa9..b4ffc5f477 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -2458,7 +2458,7 @@ engineers for reverse engineers.") (define-public lib3mf (package (name "lib3mf") - (version "1.8.1") + (version "2.1.1") (source (origin (method git-fetch) @@ -2467,20 +2467,21 @@ engineers for reverse engineers.") (file-name (git-file-name name version)) (sha256 (base32 - "11wpk6n9ga2p57h1dcrp37w77mii0r7r6mlrgmykf7rvii1rzgqd")))) + "1417xlxc1y5jnipixhbjfrrjgkrprbbraj8647sff9051m3hpxc3")))) (build-system cmake-build-system) - (native-inputs - `(("googletest-source" ,(package-source googletest)))) - (inputs - `(("libuuid" ,util-linux "lib"))) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'unpack-googletest - (lambda* (#:key inputs #:allow-other-keys) - (copy-recursively (assoc-ref inputs "googletest-source") - "UnitTests/googletest") - #t))))) + `(#:configure-flags (list "-DUSE_INCLUDED_ZLIB=0" + "-DUSE_INCLUDED_LIBZIP=0" + "-DUSE_INCLUDED_GTEST=0" + "-DUSE_INCLUDED_SSL=0"))) + (native-inputs + `(("googletest" ,googletest) + ("pkg-config" ,pkg-config))) + (inputs + `(("libuuid" ,util-linux "lib") + ("libzip" ,libzip) + ("libressl" ,libressl) + ("zlib" ,zlib))) (synopsis "Implementation of the 3D Manufacturing Format (3MF) file standard") (description "Lib3MF is a C++ implementation of the 3D Manufacturing Format (3MF) file From 9a6ea2f8dc5222018768861a2328e7683e1973c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 10 Mar 2021 18:49:10 +0100 Subject: [PATCH 0314/1003] syscalls: Define the ST_* constants and add 'statfs-flags->mount-flags'. * guix/build/syscalls.scm (linux?): New variable. (define-statfs-flags): New macro. (ST_RDONLY, ST_NOSUID, ST_NODEV, ST_NOEXEC, ST_SYNCHRONOUS) (ST_MANDLOCK, ST_WRITE, ST_APPEND, ST_IMMUTABLE, ST_NOATIME) (ST_NODIRATIME, ST_RELATIME): New variables. (statfs-flags->mount-flags): New procedure. --- guix/build/syscalls.scm | 67 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index 552343a481..6ed11a0d69 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -82,6 +82,21 @@ file-system-fragment-size file-system-mount-flags statfs + + ST_RDONLY + ST_NOSUID + ST_NODEV + ST_NOEXEC + ST_SYNCHRONOUS + ST_MANDLOCK + ST_WRITE + ST_APPEND + ST_IMMUTABLE + ST_NOATIME + ST_NODIRATIME + ST_RELATIME + statfs-flags->mount-flags + free-disk-space device-in-use? add-to-entropy-count @@ -754,6 +769,56 @@ fdatasync(2) on the underlying file descriptor." (define-syntax fsword ;fsword_t (identifier-syntax long)) +(define linux? (string-contains %host-type "linux-gnu")) + +(define-syntax define-statfs-flags + (syntax-rules (linux hurd) + "Define the statfs mount flags." + ((_ (name (linux linux-value) (hurd hurd-value)) rest ...) + (begin + (define name + (if linux? linux-value hurd-value)) + (define-statfs-flags rest ...))) + ((_ (name value) rest ...) + (begin + (define name value) + (define-statfs-flags rest ...))) + ((_) #t))) + +(define-statfs-flags ; + (ST_RDONLY 1) + (ST_NOSUID 2) + (ST_NODEV (linux 4) (hurd 0)) + (ST_NOEXEC 8) + (ST_SYNCHRONOUS 16) + (ST_MANDLOCK (linux 64) (hurd 0)) + (ST_WRITE (linux 128) (hurd 0)) + (ST_APPEND (linux 256) (hurd 0)) + (ST_IMMUTABLE (linux 512) (hurd 0)) + (ST_NOATIME (linux 1024) (hurd 32)) + (ST_NODIRATIME (linux 2048) (hurd 0)) + (ST_RELATIME (linux 4096) (hurd 64))) + +(define (statfs-flags->mount-flags flags) + "Convert FLAGS, a logical or of ST_* constants as returned by +'file-system-mount-flags', to the corresponding logical or of MS_* constants." + (letrec-syntax ((match-flags (syntax-rules (=>) + ((_ (statfs => mount) rest ...) + (logior (if (zero? (logand flags statfs)) + 0 + mount) + (match-flags rest ...))) + ((_) + 0)))) + (match-flags + (ST_RDONLY => MS_RDONLY) + (ST_NOSUID => MS_NOSUID) + (ST_NODEV => MS_NODEV) + (ST_NOEXEC => MS_NOEXEC) + (ST_NOATIME => MS_NOATIME) + (ST_NODIRATIME => 0) ;FIXME + (ST_RELATIME => MS_RELATIME)))) + (define-c-struct %statfs ; sizeof-statfs ;slightly overestimated file-system @@ -769,7 +834,7 @@ fdatasync(2) on the underlying file descriptor." (identifier (array int 2)) (name-length fsword) (fragment-size fsword) - (mount-flags fsword) + (mount-flags fsword) ;ST_* (spare (array fsword 4))) (define statfs From b665dd4a9902b5722b9e06fd89c203e2221b19e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 10 Mar 2021 18:58:41 +0100 Subject: [PATCH 0315/1003] file-systems: 'mount-file-system' preserves the right mount flags. Fixes . Reported by Jelle Licht . Since commit dcb640f02b1f9590c3bd4301a22bf31bd60c56d4, we could end up applying the wrong mount flags because the (find ...) expression could pick the "wrong" mount point in the presence of bind mounts. * gnu/build/file-systems.scm (mount-file-system): Use 'statfs' to compute FLAGS whe FS is a bind mount. --- gnu/build/file-systems.scm | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index aca4aad848..304805db62 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -920,14 +920,8 @@ corresponds to the symbols listed in FLAGS." ;; MS_REMOUNT call below fails with EPERM. ;; See (if (memq 'bind-mount (file-system-flags fs)) - (or (and=> (find (let ((devno (stat:dev - (lstat source)))) - (lambda (mount) - (= (mount-device-number mount) - devno))) - (mounts)) - mount-flags) - 0) + (statfs-flags->mount-flags + (file-system-mount-flags (statfs source))) 0))) (options (file-system-options fs))) (when (file-system-check? fs) From 83cda00bc62d665f05d37d07c78a1c4eab5297f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 23:29:14 +0100 Subject: [PATCH 0316/1003] gnu: docker: Update to 19.03.15 [security fixes]. * gnu/packages/docker.scm (%docker-version): Bump to 19.03.15. (docker-libnetwork): Bump to 19.03-1.55e924b. (docker): [source]: Set git-reference url to 'https://github.com/moby/moby'. [arguments]<#:phases>: Modify 'delete-failing-tests phase to delete 'signal_linux_test.go'. --- gnu/packages/docker.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index eb092808f6..e9f3e04c8f 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -52,7 +52,7 @@ ;; Note - when changing Docker versions it is important to update the versions ;; of several associated packages (docker-libnetwork and go-sctp). -(define %docker-version "19.03.13") +(define %docker-version "19.03.15") (define-public python-docker (package @@ -252,7 +252,7 @@ network attachments.") ;; 'hack/dockerfile/install/proxy.installer'. NOTE - It is important that ;; this version is kept in sync with the version of Docker being used. ;; This commit is the "bump_19.03" branch, as mentioned in Docker's vendor.conf. - (let ((commit "026aabaa659832804b01754aaadd2c0f420c68b6") + (let ((commit "55e924b8a84231a065879156c0de95aefc5f5435") (version (version-major+minor %docker-version)) (revision "1")) (package @@ -267,7 +267,7 @@ network attachments.") (file-name (git-file-name name version)) (sha256 (base32 - "0bli21vn5v7bssw3ydym4jfdjsldhb47fld88kng7d138wl70lkw")) + "19syb3scwiykn44gqfaqrgqv8a0df4ps0ykf3za9xkjc5cyi99mp")) ;; Delete bundled ("vendored") free software source code. (modules '((guix build utils))) (snippet '(begin @@ -316,11 +316,11 @@ built-in registry server of Docker.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/docker/engine") + (url "https://github.com/moby/moby") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1mg3jjisdbqrqrrhyslj3715lslial2kcgjrpprb6q63i52963gj")) + (base32 "0419iha9zmwlhzhnbfxlsa13vgd04yifnsr8qqnj2ks5dxrcajl8")) (patches (search-patches "docker-fix-tests.patch")))) (build-system gnu-build-system) @@ -517,6 +517,8 @@ built-in registry server of Docker.") (delete-file "runconfig/config_test.go") ;; This file uses /var. (delete-file "daemon/oci_linux_test.go") + ;; Signal tests fail in bizarre ways + (delete-file "pkg/signal/signal_linux_test.go") #t)) (replace 'configure (lambda _ From 9b52ae19b12dc0a0878a1c7012bc79b94876e1ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 23:37:12 +0100 Subject: [PATCH 0317/1003] gnu: containerd: Update to 1.3.10 [security fixes]. * gnu/packages/docker.scm (containerd): Update to 1.3.10. --- gnu/packages/docker.scm | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index e9f3e04c8f..28bf2aff2b 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -177,18 +177,16 @@ Python without keeping their credentials in a Docker configuration file.") (define-public containerd (package (name "containerd") - (version "1.2.5") + (version "1.3.10") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/containerd/containerd") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0npbzixf3c0jvzm159vygvkydrr8h36c9sq50yv0mdinrys2bvg0")) - (patches - (search-patches "containerd-test-with-go1.13.patch")))) + (method git-fetch) + (uri (git-reference + (url "https://github.com/containerd/containerd") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10fz7359aydbz0yb01qkrsq2diypayfal618lvvb1x0gvgkp526i")))) (build-system go-build-system) (arguments `(#:import-path "github.com/containerd/containerd" From 00c1793ce8e2210e48b18422ea3e76da10541874 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 03:29:49 +0100 Subject: [PATCH 0318/1003] gnu: ungoogled-chromium: Add xdg-utils to PATH with wrapper. This will ensure that 'mailto:' links work out of the box, among others. * gnu/packages/chromium.scm (ungoogled-chromium): Modify replacement 'install phase to add xdg-utils to PATH with wrap-program. --- gnu/packages/chromium.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index f9ca357933..b81a773c3d 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -753,6 +753,7 @@ (resources (string-append lib "/resources")) (preferences (assoc-ref inputs "master-preferences")) (gtk+ (assoc-ref inputs "gtk+")) + (xdg-utils (assoc-ref inputs "xdg-utils")) (sh (which "sh"))) (substitute* '("chrome/app/resources/manpage.1.in" @@ -789,7 +790,8 @@ (wrap-program exe ;; Avoid file manager crash. See . - `("XDG_DATA_DIRS" ":" prefix (,(string-append gtk+ "/share"))))) + `("XDG_DATA_DIRS" ":" prefix (,(string-append gtk+ "/share"))) + `("PATH" ":" prefix (,(string-append xdg-utils "/bin"))))) (with-directory-excursion "chrome/app/theme/chromium" (for-each @@ -874,7 +876,8 @@ ("udev" ,eudev) ("valgrind" ,valgrind) ("vulkan-headers" ,vulkan-headers) - ("wayland" ,wayland))) + ("wayland" ,wayland) + ("xdg-utils" ,xdg-utils))) (native-search-paths (list (search-path-specification (variable "CHROMIUM_EXTENSION_DIRECTORY") From 6cadf34d1fb11b327ca79c9bdf20398190524c67 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 16:13:41 +0100 Subject: [PATCH 0319/1003] gnu: Add rust-wasmparser-0.57. * gnu/packages/crates-io.scm (rust-wasmparser-0.57): New variable. --- gnu/packages/crates-io.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index abe4a937e5..99050a1def 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -47250,6 +47250,26 @@ attribute that is not in the shared backend crate.") "Support for parsing WebIDL specific to wasm-bindgen.") (license (list license:expat license:asl2.0)))) +(define-public rust-wasmparser-0.57 + (package + (name "rust-wasmparser") + (version "0.57.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasmparser" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "19kslk9pv1bcyp85w63dn1adbp13kz7kjha80abnwz27bmbxvz9j")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://github.com/bytecodealliance/wasm-tools/tree/main/crates/wasmparser") + (synopsis "Simple event-driven library for parsing WebAssembly binary files") + (description + "This package provides a simple event-driven library for parsing +WebAssembly binary files.") + (license license:asl2.0))) + (define-public rust-web-sys-0.3 (package (name "rust-web-sys") From b6a627e9c0beee3bc24044dfd5319f59c642a24d Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 16:09:42 +0100 Subject: [PATCH 0320/1003] gnu: Add rust-object-0.23. * gnu/packages/crates-io.scm (rust-object-0.23): New variable. (rust-object-0.17): Inherit from above. --- gnu/packages/crates-io.scm | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 99050a1def..4f62f719a4 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -25756,8 +25756,38 @@ Foundation framework.") "This package provides utilities for testing Objective-C interop.") (license license:expat))) +(define-public rust-object-0.23 + (package + (name "rust-object") + (version "0.23.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "object" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1m658q2ci9hk8csbl17zwcg1hpvcxm2sspjb9bzg0kc1cifsp9x9")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-crc32fast" ,rust-crc32fast-1) + ("rust-flate2" ,rust-flate2-1) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) + ("rust-wasmparser" ,rust-wasmparser-0.57)))) + (home-page "https://github.com/gimli-rs/object") + (synopsis "Unified interface for reading and writing object file formats") + (description + "This package provides a unified interface for reading and writing object +file formats.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-object-0.17 (package + (inherit rust-object-0.23) (name "rust-object") (version "0.17.0") (source @@ -25769,7 +25799,6 @@ Foundation framework.") (sha256 (base32 "1bmgbg4k0725lchfy9j1wnpfmywh5qhs0k4k6j2g7c0acvys8i7a")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -25780,12 +25809,7 @@ Foundation framework.") ("rust-uuid" ,rust-uuid-0.8) ("rust-flate2" ,rust-flate2-1) ("rust-crc32fast" ,rust-crc32fast-1) - ("rust-indexmap" ,rust-indexmap-1)))) - (home-page "https://github.com/gimli-rs/object") - (synopsis "Unified interface for reading and writing object file formats") - (description "This package provides a unified interface for reading and -writing object file formats.") - (license (list license:asl2.0 license:expat)))) + ("rust-indexmap" ,rust-indexmap-1)))))) (define-public rust-object-0.12 (package From 8cc3a16cbb2521a737d9276d4de4fff3b4f2bd17 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 16:14:53 +0100 Subject: [PATCH 0321/1003] gnu: Add rust-object-0.22. * gnu/packages/crates-io.scm (rust-object-0.22): New variable. --- gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 4f62f719a4..ae96bcc03f 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -25785,6 +25785,29 @@ Foundation framework.") file formats.") (license (list license:asl2.0 license:expat)))) +(define-public rust-object-0.22 + (package + (inherit rust-object-0.23) + (name "rust-object") + (version "0.22.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "object" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "15r383qxxwq08q3a5rfqhp971wd0nixd9ny22xw37jy31qv66fwd")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-crc32fast" ,rust-crc32fast-1) + ("rust-flate2" ,rust-flate2-1) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) + ("rust-wasmparser" ,rust-wasmparser-0.57)))))) + (define-public rust-object-0.17 (package (inherit rust-object-0.23) From 8e54e5243ba73d385e2aa2e4886ba87b7ada719a Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 16:15:51 +0100 Subject: [PATCH 0322/1003] gnu: Add rust-gimli-0.23. * gnu/packages/crates-io.scm (rust-gimli-0.23): New variable. (rust-gimli-0.20): Inherit from above. --- gnu/packages/crates-io.scm | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index ae96bcc03f..a863c9c7ec 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -16048,8 +16048,37 @@ authenticated encryption cipher.") (("rust-polyval" ,rust-polyval-0.3) ("rust-zeroize" ,rust-zeroize-1)))))) +(define-public rust-gimli-0.23 + (package + (name "rust-gimli") + (version "0.23.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gimli" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1km657nwcrb0pnv7v0ldhgl9y8s889y2j9jckmws8k2i8bhkyl7n")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-fallible-iterator" ,rust-fallible-iterator-0.2) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) + ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)))) + (home-page "https://github.com/gimli-rs/gimli") + (synopsis "Library for reading and writing the DWARF debugging format") + (description + "This package provides a library for reading and writing the DWARF +debugging format.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-gimli-0.20 (package + (inherit rust-gimli-0.23) (name "rust-gimli") (version "0.20.0") (source @@ -16061,7 +16090,6 @@ authenticated encryption cipher.") (sha256 (base32 "0cz6wg1niwfqf0mk28igsdnsm92cs57cai9jpzdmvw6hma863pc1")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -16072,12 +16100,7 @@ authenticated encryption cipher.") ,rust-stable-deref-trait-1) ("rust-smallvec" ,rust-smallvec-1) ("rust-indexmap" ,rust-indexmap-1) - ("rust-byteorder" ,rust-byteorder-1)))) - (home-page "https://github.com/gimli-rs/gimli") - (synopsis "Library for reading and writing the DWARF debugging format") - (description - "This package provides a library for reading and writing the DWARF debugging format.") - (license (list license:asl2.0 license:expat)))) + ("rust-byteorder" ,rust-byteorder-1)))))) (define-public rust-gimli-0.18 (package From 406fe167e1f60a779a04ae97682169aca9d435c2 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 16:16:57 +0100 Subject: [PATCH 0323/1003] gnu: Add rust-cpp-demangle-0.3. * gnu/packages/crates-io.scm (rust-cpp-demangle-0.3): New variable. (rust-cpp-demangle-0.2): Inherit from above. --- gnu/packages/crates-io.scm | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index a863c9c7ec..ee1e58897c 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -8521,8 +8521,33 @@ intrinsics.") ("rust-foreign-types" ,rust-foreign-types-0.3) ("rust-libc" ,rust-libc-0.2)))))) +(define-public rust-cpp-demangle-0.3 + (package + (name "rust-cpp-demangle") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "cpp_demangle" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "142knq32bpa2hbp4z0bldjd1x869664l0ff2gdrqx7pryv59x4a4")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-afl" ,rust-afl-0.8) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-glob" ,rust-glob-0.3)))) + (home-page "https://github.com/gimli-rs/cpp_demangle") + (synopsis "Demangle C++ symbols") + (description + "This package provides a crate for demangling C++ symbols.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-cpp-demangle-0.2 (package + (inherit rust-cpp-demangle-0.3) (name "rust-cpp-demangle") (version "0.2.16") (source @@ -8534,7 +8559,6 @@ intrinsics.") (sha256 (base32 "0bamx2c78xzjhhvpg6p9bjarl6qm6j8npm6756kiqdh784w29j8k")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -8543,12 +8567,7 @@ intrinsics.") ("rust-glob" ,rust-glob-0.3)) #:cargo-development-inputs (("rust-clap" ,rust-clap-2) - ("rust-diff" ,rust-diff-0.1)))) - (home-page "https://github.com/gimli-rs/cpp_demangle") - (synopsis "Demangle C++ symbols") - (description - "This package provides a crate for demangling C++ symbols.") - (license (list license:expat license:asl2.0)))) + ("rust-diff" ,rust-diff-0.1)))))) (define-public rust-cpuid-bool-0.1 (package From fbc807f3b68d2a9c1e113b520d8364881b255596 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 16:18:16 +0100 Subject: [PATCH 0324/1003] gnu: Add rust-addr2line-0.14. * gnu/packages/crates-io.scm (rust-addr2line-0.14): New variable. (rust-addr2line-0.11): Inherit from above. --- gnu/packages/crates-io.scm | 41 ++++++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index ee1e58897c..1736aafa94 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -969,8 +969,40 @@ threads. This makes it robust in face of panics (it won't make your program deadlock, like the standard Barrier).") (license (list license:asl2.0 license:expat)))) +(define-public rust-addr2line-0.14 + (package + (name "rust-addr2line") + (version "0.14.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "addr2line" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1xs5bsi40zpyxbbylyaysya5h36ykcbg91i82415sxw5wk7q4px5")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-cpp-demangle" ,rust-cpp-demangle-0.3) + ("rust-fallible-iterator" ,rust-fallible-iterator-0.2) + ("rust-gimli" ,rust-gimli-0.23) + ("rust-object" ,rust-object-0.22) + ("rust-rustc-demangle" ,rust-rustc-demangle-0.1) + ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) + ("rust-smallvec" ,rust-smallvec-1)))) + (home-page "https://github.com/gimli-rs/addr2line") + (synopsis "Symbolication library written in Rust, using gimli") + (description + "This package provides a cross-platform symbolication library written in +Rust, using gimli.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-addr2line-0.11 (package + (inherit rust-addr2line-0.14) (name "rust-addr2line") (version "0.11.0") (source @@ -982,7 +1014,6 @@ deadlock, like the standard Barrier).") (sha256 (base32 "0sk5g8cb2yynlcm0wcqff9l9c9ml69rqgfrrbii0ybgdc236jkhw")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; Not all test files included. #:cargo-inputs @@ -998,13 +1029,7 @@ deadlock, like the standard Barrier).") ("rust-clap" ,rust-clap-2) ("rust-findshlibs" ,rust-findshlibs-0.5) ("rust-memmap" ,rust-memmap-0.7) - ("rust-rustc-test" ,rust-rustc-test-0.3)))) - (home-page "https://github.com/gimli-rs/addr2line") - (synopsis "Symbolication library written in Rust, using gimli") - (description - "This package provides a cross-platform symbolication library written in -Rust, using gimli.") - (license (list license:asl2.0 license:expat)))) + ("rust-rustc-test" ,rust-rustc-test-0.3)))))) (define-public rust-addr2line-0.9 (package From b950ff3dbf8d44d33de11a039c84647912503dbb Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 16:19:16 +0100 Subject: [PATCH 0325/1003] gnu: rust-backtrace-0.3: Update to 0.3.56. * gnu/packages/crates-io.scm (rust-backtrace-0.3): Update to 0.3.56. --- gnu/packages/crates-io.scm | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 1736aafa94..a05654935b 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -3593,7 +3593,7 @@ built on the Actix ecosystem.") (define-public rust-backtrace-0.3 (package (name "rust-backtrace") - (version "0.3.46") + (version "0.3.56") (source (origin (method url-fetch) @@ -3602,28 +3602,24 @@ built on the Actix ecosystem.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "17hh1vrhfd01qpjilrdpy7q0lf2j2qv36achpg37q92rff4r5rmi")))) + "1g716jmrik0fx29va3js4gw8hwk5jlsmvqaa9ryp1c9qyh07c4cx")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-addr2line" ,rust-addr2line-0.11) + (("rust-addr2line" ,rust-addr2line-0.14) ("rust-backtrace-sys" ,rust-backtrace-sys-0.1) - ("rust-cfg-if" ,rust-cfg-if-0.1) - ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-cpp-demangle" ,rust-cpp-demangle-0.2) - ("rust-findshlibs" ,rust-findshlibs-0.5) - ("rust-goblin" ,rust-goblin-0.2) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-cpp-demangle" ,rust-cpp-demangle-0.3) ("rust-libc" ,rust-libc-0.2) - ("rust-memmap" ,rust-memmap-0.7) + ("rust-miniz-oxide" ,rust-miniz-oxide-0.4) + ("rust-object" ,rust-object-0.23) ("rust-rustc-demangle" ,rust-rustc-demangle-0.1) ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) ("rust-serde" ,rust-serde-1) ("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://github.com/rust-lang/backtrace-rs") - (synopsis - "Acquire a stack trace (backtrace) at runtime in a Rust program") + (synopsis "Acquire a stack trace (backtrace) at runtime in a Rust program") (description "This package provides a library to acquire a stack trace (backtrace) at runtime in a Rust program.") From 31be44a8aa81aa84e89129a41cb03f371900c15b Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 16:22:41 +0100 Subject: [PATCH 0326/1003] gnu: rust-openssl-sys-0.9: Update to 0.9.60. * gnu/packages/crates-io.scm (rust-openssl-sys-0.9): Update to 0.9.60. --- gnu/packages/crates-io.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index a05654935b..94d9f28bec 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -26320,14 +26320,14 @@ system for OpenSSL.") (define-public rust-openssl-sys-0.9 (package (name "rust-openssl-sys") - (version "0.9.58") + (version "0.9.60") (source (origin (method url-fetch) (uri (crate-uri "openssl-sys" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1pkq3x8w16kqvkg75g4w7nny56w9clssww0ibpzg015n153xnhm8")) + (base32 "1rpkfl0rmdcvxzyzp3n24g9clplh4avgzpi5c2a3hx96hcccf7wj")) (patches (search-patches "rust-openssl-sys-no-vendor.patch")))) (build-system cargo-build-system) (arguments From 3e6a0f19858856f057201286a3987c057b2ffe2d Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 16:25:44 +0100 Subject: [PATCH 0327/1003] gnu: Add rust-trust-dns-proto-0.20. * gnu/packages/crates-io.scm (rust-trust-dns-proto-0.20): New variable. (rust-trust-dns-proto-0.19): Inherit from above. --- gnu/packages/crates-io.scm | 54 +++++++++++++++++++++++++++++++++----- 1 file changed, 47 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 94d9f28bec..2ae6f4c3b0 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -44446,8 +44446,54 @@ extension for the Trust-DNS client to use tokio-openssl for TLS.") (("rust-openssl" ,rust-openssl-0.10) ("rust-tokio" ,rust-tokio-0.1)))))) +(define-public rust-trust-dns-proto-0.20 + (package + (name "rust-trust-dns-proto") + (version "0.20.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-proto" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1gdsxjl628h02dp0fhcjz6js79fc4dxprqgqny6rghk450dki84q")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-async-trait" ,rust-async-trait-0.1) + ("rust-backtrace" ,rust-backtrace-0.3) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-data-encoding" ,rust-data-encoding-2) + ("rust-enum-as-inner" ,rust-enum-as-inner-0.3) + ("rust-futures-channel" ,rust-futures-channel-0.3) + ("rust-futures-io" ,rust-futures-io-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-idna" ,rust-idna-0.2) + ("rust-ipnet" ,rust-ipnet-2) + ("rust-js-sys" ,rust-js-sys-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-rand" ,rust-rand-0.8) + ("rust-ring" ,rust-ring-0.16) + ("rust-serde" ,rust-serde-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-socket2" ,rust-socket2-0.3) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-1) + ("rust-url" ,rust-url-2) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "Safe and secure DNS library") + (description + "Trust-DNS is a safe and secure DNS library. This is the foundational +DNS protocol library for all Trust-DNS projects.") + (license (list license:expat license:asl2.0)))) + (define-public rust-trust-dns-proto-0.19 (package + (inherit rust-trust-dns-proto-0.20) (name "rust-trust-dns-proto") (version "0.19.5") (source @@ -44458,7 +44504,6 @@ extension for the Trust-DNS client to use tokio-openssl for TLS.") (sha256 (base32 "0a4zlv60kkbg1nvy3zh18fdg681z83yzppzy39rdkm7llqdhdmyd")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1) @@ -44483,12 +44528,7 @@ extension for the Trust-DNS client to use tokio-openssl for TLS.") #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.7) ("rust-futures" ,rust-futures-0.3) - ("rust-tokio" ,rust-tokio-0.2)))) - (home-page "http://www.trust-dns.org/index.html") - (synopsis "Safe and secure DNS library") - (description "Trust-DNS is a safe and secure DNS library. This is the -foundational DNS protocol library for all Trust-DNS projects.") - (license (list license:expat license:asl2.0)))) + ("rust-tokio" ,rust-tokio-0.2)))))) (define-public rust-trust-dns-proto-0.18 (package From ba777a3cc4646df9c1b361bab64fbc97b0554b29 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 16:07:25 +0100 Subject: [PATCH 0328/1003] gnu: Add rust-trust-dns-native-tls-0.20. * gnu/packages/crates-io.scm (rust-trust-dns-native-tls-0.20): New variable. (rust-trust-dns-native-tls-0.19): Inherit from above. --- gnu/packages/crates-io.scm | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 2ae6f4c3b0..ea8b1189b1 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -44291,8 +44291,36 @@ extension for the Trust-DNS client to use DNS over HTTPS.") #:cargo-development-inputs (("rust-tokio" ,rust-tokio-0.1)))))) +(define-public rust-trust-dns-native-tls-0.20 + (package + (name "rust-trust-dns-native-tls") + (version "0.20.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-native-tls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "129map2cvy9xcdjg6927xyzic48mq6hqmils0qrmigbr61djxkna")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-futures-channel" ,rust-futures-channel-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-native-tls" ,rust-native-tls-0.2) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-native-tls" ,rust-tokio-native-tls-0.3) + ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.20)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "native-tls extension for the Trust-DNS client") + (description "Trust-DNS is a safe and secure DNS library. This is an +extension for the Trust-DNS client to use native-tls for TLS.") + (license (list license:expat license:asl2.0)))) + (define-public rust-trust-dns-native-tls-0.19 (package + (inherit rust-trust-dns-native-tls-0.20) (name "rust-trust-dns-native-tls") (version "0.19.5") (source @@ -44303,7 +44331,6 @@ extension for the Trust-DNS client to use DNS over HTTPS.") (sha256 (base32 "173443yivsiyzvnai4h53v71br8jsz4zjwhp83q3x4hnh6306ymv")))) - (build-system cargo-build-system) (arguments `(#:tests? #false #:cargo-inputs @@ -44315,12 +44342,7 @@ extension for the Trust-DNS client to use DNS over HTTPS.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("openssl" ,openssl))) - (home-page "http://www.trust-dns.org/index.html") - (synopsis "native-tls extension for the Trust-DNS client") - (description "Trust-DNS is a safe and secure DNS library. This is an -extension for the Trust-DNS client to use native-tls for TLS.") - (license (list license:expat license:asl2.0)))) + `(("openssl" ,openssl))))) (define-public rust-trust-dns-native-tls-0.18 (package From 58e89cb0b946feea9108457fa402b36cbbce21b0 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 16:06:11 +0100 Subject: [PATCH 0329/1003] gnu: Add rust-trust-dns-openssl-0.20. * gnu/packages/crates-io.scm (rust-trust-dns-openssl-0.20): New variable. (rust-trust-dns-openssl-0.19): Inherit from above. --- gnu/packages/crates-io.scm | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index ea8b1189b1..0c906dec60 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -44389,8 +44389,36 @@ extension for the Trust-DNS client to use native-tls for TLS.") #:cargo-development-inputs (("rust-tokio" ,rust-tokio-0.1)))))) +(define-public rust-trust-dns-openssl-0.20 + (package + (name "rust-trust-dns-openssl") + (version "0.20.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-openssl" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1zd10g824qrs0yw2bmxphw43iylxlpgvnwb3l3hnwblp2ffhcx50")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-futures-channel" ,rust-futures-channel-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-openssl" ,rust-tokio-openssl-0.6) + ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.20)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "tokio-openssl extension for the Trust-DNS client") + (description "Trust-DNS is a safe and secure DNS library. This is an +extension for the Trust-DNS client to use tokio-openssl for TLS.") + (license (list license:expat license:asl2.0)))) + (define-public rust-trust-dns-openssl-0.19 (package + (inherit rust-trust-dns-openssl-0.20) (name "rust-trust-dns-openssl") (version "0.19.5") (source @@ -44401,7 +44429,6 @@ extension for the Trust-DNS client to use native-tls for TLS.") (sha256 (base32 "0as4jzrscjlmgj04l2aa2lf09vpd0fg5v0vfz019ybxgiqn89g45")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-futures" ,rust-futures-0.3) @@ -44415,12 +44442,7 @@ extension for the Trust-DNS client to use native-tls for TLS.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("openssl" ,openssl))) - (home-page "http://www.trust-dns.org/index.html") - (synopsis "tokio-openssl extension for the Trust-DNS client") - (description "Trust-DNS is a safe and secure DNS library. This is an -extension for the Trust-DNS client to use tokio-openssl for TLS.") - (license (list license:expat license:asl2.0)))) + `(("openssl" ,openssl))))) (define-public rust-trust-dns-openssl-0.18 (package From 46f8eecb516fa1dc68419a118044e26e894d808c Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 16:08:26 +0100 Subject: [PATCH 0330/1003] gnu: Add rust-trust-dns-rustls-0.20. * gnu/packages/crates-io.scm (rust-trust-dns-rustls-0.20): New variable. (rust-trust-dns-rustls-0.19): Inherit from above. --- gnu/packages/crates-io.scm | 40 +++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 0c906dec60..5261b96e7a 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -44774,8 +44774,40 @@ other queries.") ("rust-trust-dns-rustls" ,rust-trust-dns-rustls-0.6) ("rust-webpki-roots" ,rust-webpki-roots-0.16)))))) +(define-public rust-trust-dns-rustls-0.20 + (package + (name "rust-trust-dns-rustls") + (version "0.20.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-rustls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "00i5jf6bkfxikna0093swl0yz246nabpm0xngdxb94wkr3rz0kq9")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-futures-channel" ,rust-futures-channel-0.3) + ("rust-futures-io" ,rust-futures-io-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-rustls" ,rust-rustls-0.19) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.22) + ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.20) + ("rust-webpki" ,rust-webpki-0.21)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "rustls extension for the Trust-DNS client") + (description + "Trust-DNS is a safe and secure DNS library. This is an extension for +the Trust-DNS client to use rustls for TLS.") + (license (list license:expat license:asl2.0)))) + (define-public rust-trust-dns-rustls-0.19 (package + (inherit rust-trust-dns-rustls-0.20) (name "rust-trust-dns-rustls") (version "0.19.5") (source @@ -44786,7 +44818,6 @@ other queries.") (sha256 (base32 "1hj4fx2x4ncj7v8pf6bbn7634zq76hjigm1s2h6b6yjzzmz4yprn")))) - (build-system cargo-build-system) (arguments `(#:tests? #false ;missing file #:cargo-inputs @@ -44802,12 +44833,7 @@ other queries.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("openssl" ,openssl))) - (home-page "http://www.trust-dns.org/index.html") - (synopsis "rustls extension for the Trust-DNS client") - (description "Trust-DNS is a safe and secure DNS library. This is an -extension for the Trust-DNS client to use rustls for TLS.") - (license (list license:expat license:asl2.0)))) + `(("openssl" ,openssl))))) (define-public rust-trust-dns-rustls-0.18 (package From 43212fcaf6aa40efc1591f6673e37cc6331f58d2 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 16:27:41 +0100 Subject: [PATCH 0331/1003] gnu: Add rust-trust-dns-https-0.20. * gnu/packages/crates-io.scm (rust-trust-dns-https-0.20): New variable. (rust-trust-dns-https-0.19): Inherit from above. --- gnu/packages/crates-io.scm | 46 ++++++++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 5261b96e7a..2a2cb8495c 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -44180,8 +44180,46 @@ recycle bin.") "This package provides a library for visualizing tree structured data.") (license license:expat))) +(define-public rust-trust-dns-https-0.20 + (package + (name "rust-trust-dns-https") + (version "0.20.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-https" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "19f0l1illl69ycb97652rjrjppilz2pz7l9572lrjpkasffgcqr6")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bytes" ,rust-bytes-1) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-data-encoding" ,rust-data-encoding-2) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-h2" ,rust-h2-0.3) + ("rust-http" ,rust-http-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-rustls" ,rust-rustls-0.19) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.22) + ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.20) + ("rust-trust-dns-rustls" ,rust-trust-dns-rustls-0.20) + ("rust-webpki" ,rust-webpki-0.21) + ("rust-webpki-roots" ,rust-webpki-roots-0.21)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "DNS over HTTPS extension for the Trust-DNS client") + (description + "Trust-DNS is a safe and secure DNS library. This is an extension for +the Trust-DNS client to use DNS over HTTPS.") + (license (list license:expat license:asl2.0)))) + (define-public rust-trust-dns-https-0.19 (package + (inherit rust-trust-dns-https-0.20) (name "rust-trust-dns-https") (version "0.19.5") (source @@ -44192,7 +44230,6 @@ recycle bin.") (sha256 (base32 "0s6yiqy98wddc2vid0dypj4cdnvycd4vrrj6l9s7yymq0iqpky5g")))) - (build-system cargo-build-system) (arguments `(#:tests? #false #:cargo-inputs @@ -44214,12 +44251,7 @@ recycle bin.") ("rust-webpki-roots" ,rust-webpki-roots-0.19)) #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.7) - ("rust-futures" ,rust-futures-0.3)))) - (home-page "http://www.trust-dns.org/index.html") - (synopsis "DNS over HTTPS extension for the Trust-DNS client") - (description "Trust-DNS is a safe and secure DNS library. This is an -extension for the Trust-DNS client to use DNS over HTTPS.") - (license (list license:expat license:asl2.0)))) + ("rust-futures" ,rust-futures-0.3)))))) (define-public rust-trust-dns-https-0.18 (package From 3843fc8fc84a0a7cf44717613fff8d7d119d8fc3 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 16:28:48 +0100 Subject: [PATCH 0332/1003] gnu: Add rust-tokio-openssl-0.6. * gnu/packages/crates-io.scm (rust-tokio-openssl-0.6): New variable. (rust-tokio-openssl-0.4): Inherit from above. --- gnu/packages/crates-io.scm | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 2a2cb8495c..bd5963fc51 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -42664,8 +42664,35 @@ streams.") "This package provides the event loop that drives Tokio I/O resources.") (license license:expat))) +(define-public rust-tokio-openssl-0.6 + (package + (name "rust-tokio-openssl") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-openssl" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0khjqv8wap79ki7h0l91rs8j0b4ix097lb40b4s1x9sa19ffq6xc")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-futures" ,rust-futures-0.3) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-pin-project" ,rust-pin-project-1) + ("rust-tokio" ,rust-tokio-1)))) + (home-page "https://github.com/alexcrichton/tokio-openssl") + (synopsis "SSL streams for Tokio backed by OpenSSL") + (description + "This package is an implementation of SSL streams for Tokio backed by +OpenSSL.") + (license (list license:expat license:asl2.0)))) + (define-public rust-tokio-openssl-0.4 (package + (inherit rust-tokio-openssl-0.6) (name "rust-tokio-openssl") (version "0.4.0") (source @@ -42676,7 +42703,6 @@ streams.") (sha256 (base32 "15751d47984ncvllagz35ldl10ifr8555wixvsg6k3i0yk2hhjrw")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ;require internet access #:cargo-inputs @@ -42688,12 +42714,7 @@ streams.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("openssl" ,openssl))) - (home-page "https://github.com/alexcrichton/tokio-openssl") - (synopsis "SSL streams for Tokio backed by OpenSSL") - (description "This package is an implementation of SSL streams for Tokio -backed by OpenSSL.") - (license (list license:expat license:asl2.0)))) + `(("openssl" ,openssl))))) (define-public rust-tokio-openssl-0.3 (package From 785cbb09895e6f8db57bce2570e418a72fd3f9aa Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 16:30:50 +0100 Subject: [PATCH 0333/1003] gnu: Add rust-resolv-conf-0.7. * gnu/packages/crates-io.scm (rust-resolv-conf-0.7): New variable. (rust-resolv-conf-0.6): Inherit from above. --- gnu/packages/crates-io.scm | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index bd5963fc51..686b8355fd 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -32257,8 +32257,32 @@ uses finite automata and guarantees linear time matching on all inputs.") (("rust-doc-comment" ,rust-doc-comment-0.3) ("rust-libflate" ,rust-libflate-0.1)))))) +(define-public rust-resolv-conf-0.7 + (package + (name "rust-resolv-conf") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "resolv-conf" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "005sk8r1php2g41yn7fdf1sn8cafyaqm6jxia42h2v88saa47r2j")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-hostname" ,rust-hostname-0.3) + ("rust-quick-error" ,rust-quick-error-1)))) + (home-page "http://github.com/tailhook/resolv-conf") + (synopsis "Parser for @file{/etc/resolv.conf}") + (description + "This package provides a parser for @file{/etc/resolv.conf} file.") + (license (list license:expat license:asl2.0)))) + (define-public rust-resolv-conf-0.6 (package + (inherit rust-resolv-conf-0.7) (name "rust-resolv-conf") (version "0.6.3") (source @@ -32269,18 +32293,11 @@ uses finite automata and guarantees linear time matching on all inputs.") (sha256 (base32 "0jlzifww1h7j23jnjj49xz8q0fpd9rqpd0ks8c4y651vgw9lx0qi")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; Not all test files included. #:cargo-inputs (("rust-quick-error" ,rust-quick-error-1) - ("rust-hostname" ,rust-hostname-0.3)))) - (home-page "https://github.com/tailhook/resolv-conf") - (synopsis "Parser for /etc/resolv.conf") - (description - "An /etc/resolv.conf parser crate for Rust.") - (license (list license:asl2.0 - license:expat)))) + ("rust-hostname" ,rust-hostname-0.3)))))) (define-public rust-result-1 (package From 0d279640ceb8b14e8eaee6f89c38457dc9b03142 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 19:03:29 +0100 Subject: [PATCH 0334/1003] gnu: Add rust-trust-dns-resolver-0.20. * gnu/packages/crates-io.scm (rust-trust-dns-resolver-0.20): New variable. (rust-trust-dns-resolver-0.19): Inherit from above. --- gnu/packages/crates-io.scm | 59 +++++++++++++++++++++++++++++++------- 1 file changed, 49 insertions(+), 10 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 686b8355fd..4a5473f89e 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -44721,8 +44721,56 @@ DNS protocol library for all Trust-DNS projects.") (("rust-env-logger" ,rust-env-logger-0.6) ("rust-tokio" ,rust-tokio-0.1)))))) +(define-public rust-trust-dns-resolver-0.20 + (package + (name "rust-trust-dns-resolver") + (version "0.20.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-resolver" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1r2n933z9yrpdqv60c9mbhl64y2inpx9rm870nq1qqmx226d2wih")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-ipconfig" ,rust-ipconfig-0.2) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-lru-cache" ,rust-lru-cache-0.1) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-resolv-conf" ,rust-resolv-conf-0.7) + ("rust-rustls" ,rust-rustls-0.19) + ("rust-serde" ,rust-serde-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-native-tls" ,rust-tokio-native-tls-0.3) + ("rust-tokio-openssl" ,rust-tokio-openssl-0.6) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.22) + ("rust-trust-dns-https" ,rust-trust-dns-https-0.20) + ("rust-trust-dns-native-tls" ,rust-trust-dns-native-tls-0.20) + ("rust-trust-dns-openssl" ,rust-trust-dns-openssl-0.20) + ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.20) + ("rust-trust-dns-rustls" ,rust-trust-dns-rustls-0.20) + ("rust-webpki-roots" ,rust-webpki-roots-0.21)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "Safe and secure DNS library") + (description + "Trust-DNS is a safe and secure DNS library. This Resolver library uses +the Client library to perform all DNS queries. The Resolver is intended to be +a high-level library for any DNS record resolution see Resolver and +AsyncResolver for supported resolution types. The Client can be used for +other queries.") + (license (list license:expat license:asl2.0)))) + (define-public rust-trust-dns-resolver-0.19 (package + (inherit rust-trust-dns-resolver-0.20) (name "rust-trust-dns-resolver") (version "0.19.5") (source @@ -44733,7 +44781,6 @@ DNS protocol library for all Trust-DNS projects.") (sha256 (base32 "0xqv31gndybcrr5gi6jjp47qcvdxsc147s69a0y0nc6qqgyws8qg")))) - (build-system cargo-build-system) (arguments `(#:tests? #false ;network unreachable #:cargo-inputs @@ -44761,15 +44808,7 @@ DNS protocol library for all Trust-DNS projects.") ("rust-webpki-roots" ,rust-webpki-roots-0.19)) #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.7) - ("rust-futures" ,rust-futures-0.3)))) - (home-page "http://www.trust-dns.org/index.html") - (synopsis "Safe and secure DNS library") - (description "Trust-DNS is a safe and secure DNS library. This Resolver -library uses the Client library to perform all DNS queries. The Resolver is -intended to be a high-level library for any DNS record resolution see Resolver -and AsyncResolver for supported resolution types. The Client can be used for -other queries.") - (license (list license:expat license:asl2.0)))) + ("rust-futures" ,rust-futures-0.3)))))) (define-public rust-trust-dns-resolver-0.18 (package From 74efdfc4e90b93b14eb7752789361eeb2fafbc72 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 21:46:38 +0100 Subject: [PATCH 0335/1003] gnu: Add rust-test-cert-gen-0.1. * gnu/packages/crates-io.scm (rust-test-cert-gen-0.1): New variable. --- gnu/packages/crates-io.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 4a5473f89e..57296e9a29 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -41412,6 +41412,26 @@ attribute. Under the hood, all test cases that share same body are grouped into mod, giving clear and readable test results.") (license license:expat))) +(define-public rust-test-cert-gen-0.1 + (package + (name "rust-test-cert-gen") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "test-cert-gen" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1lrpirh863h9rq2iqp0kivshzwd909fgiy13a5684d685ap7c565")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://crates.io/crates/test-cert-gen") + (synopsis "Generate certificates for tests") + (description + "This package is an utility to generate certificates for tests (e.g., +for TLS).") + (license (list license:expat license:asl2.0)))) + (define-public rust-tester-0.5 (package (name "rust-tester") From aa0038b6409d28329a0654bed61738be943ae319 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 20:00:27 +0100 Subject: [PATCH 0336/1003] gnu: rust-native-tls-0.2: Update to 0.2.7. * gnu/packages/crates-io.scm (rust-native-tls-0.2): Update to 0.2.7. --- gnu/packages/crates-io.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 57296e9a29..31f41a00d3 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -23975,14 +23975,14 @@ IO of Windows's named pipes.") (define-public rust-native-tls-0.2 (package (name "rust-native-tls") - (version "0.2.6") + (version "0.2.7") (source (origin (method url-fetch) (uri (crate-uri "native-tls" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0grsinsgq1pd70c6k9mif7wambwq2jxh8jhvdgwf9i7dnlwpkk3g")))) + (base32 "1m6v16xl8h4pm32pw6yhrvgwznf60bqhj2qhb1yrb8wd3hp6pndq")))) (build-system cargo-build-system) (arguments `(#:tests? #f ; tests require network access @@ -23998,16 +23998,17 @@ IO of Windows's named pipes.") ("rust-security-framework-sys" ,rust-security-framework-sys-2) ("rust-tempfile" ,rust-tempfile-3)) #:cargo-development-inputs - (("rust-hex" ,rust-hex-0.4)))) + (("rust-hex" ,rust-hex-0.4) + ("rust-test-cert-gen" ,rust-test-cert-gen-0.1)))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("openssl" ,openssl))) (home-page "https://github.com/sfackler/rust-native-tls") - (synopsis - "Wrapper over a platform's native TLS implementation") + (synopsis "Wrapper over a platform's native TLS implementation") (description - "This package provides a wrapper over a platform's native TLS implementation.") + "This package provides a wrapper over a platform's native TLS +implementation.") (license (list license:expat license:asl2.0)))) (define-public rust-native-tls-0.1 From f8e2758ec466fb16c54d0e8e6c0c79215ecfa336 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 20:01:58 +0100 Subject: [PATCH 0337/1003] gnu: Add rust-tokio-socks-0.5. * gnu/packages/crates-io.scm (rust-tokio-socks-0.5): New variable. (rust-tokio-socks-0.3): Inherit from above. --- gnu/packages/crates-io.scm | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 31f41a00d3..f814d46e89 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -43108,8 +43108,35 @@ Rustls.") futures.") (license license:expat))) +(define-public rust-tokio-socks-0.5 + (package + (name "rust-tokio-socks") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-socks" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1h6qixh17yjf98bjyw4q8i36pf2lyfbcr9hkjjb6aalx0bx5s5ji")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-either" ,rust-either-1) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-1)))) + (home-page "https://github.com/sticnarf/tokio-socks") + (synopsis "Asynchronous SOCKS proxy support for Rust") + (description + "This package provides asynchronous SOCKS proxy support for +Rust.") + (license license:expat))) + (define-public rust-tokio-socks-0.3 (package + (inherit rust-tokio-socks-0.5) (name "rust-tokio-socks") (version "0.3.0") (source @@ -43119,7 +43146,6 @@ futures.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0f95zcvllb5byz4acwbnlsk9a2rdql4x78x0a8nkfwhq4ifzs4fn")))) - (build-system cargo-build-system) (arguments `(#:tests? #false ;"tor_resolve_with_socket" not found #:cargo-inputs @@ -43131,13 +43157,7 @@ futures.") #:cargo-development-inputs (("rust-hyper" ,rust-hyper-0.13) ("rust-once-cell" ,rust-once-cell-1) - ("rust-tokio" ,rust-tokio-0.2)))) - (home-page "https://github.com/sticnarf/tokio-socks") - (synopsis "Asynchronous SOCKS proxy support for Rust") - (description - "This package provides asynchronous SOCKS proxy support for -Rust.") - (license license:expat))) + ("rust-tokio" ,rust-tokio-0.2)))))) (define-public rust-tokio-socks-0.2 (package From 7945e1611f5a549709d0203b252263944b6f6246 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 20:03:07 +0100 Subject: [PATCH 0338/1003] gnu: Add rust-tokio-native-tls-0.3. * gnu/packages/crates-io.scm (rust-tokio-native-tls-0.3): New variable. (rust-tokio-native-tls-0.1): Inherit from above. --- gnu/packages/crates-io.scm | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index f814d46e89..4eb46b5190 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -42633,8 +42633,34 @@ applications backed by buffers.") Tokio.") (license (list license:expat license:asl2.0)))) +(define-public rust-tokio-native-tls-0.3 + (package + (name "rust-tokio-native-tls") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-native-tls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0yvikgmph2qjq0ni2h2wfaxkzhbnc09c2544av0zidyj1dk9bngp")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-native-tls" ,rust-native-tls-0.2) + ("rust-tokio" ,rust-tokio-1)))) + (home-page "https://tokio.rs") + (synopsis "TLS/SSL streams for Tokio") + (description + "This package provides an implementation of TLS/SSL streams for Tokio +using native-tls giving an implementation of TLS for nonblocking I/O +streams.") + (license license:expat))) + (define-public rust-tokio-native-tls-0.1 (package + (inherit rust-tokio-native-tls-0.3) (name "rust-tokio-native-tls") (version "0.1.0") (source @@ -42644,19 +42670,11 @@ Tokio.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0sd0xmj7kwizybpsg8vh7a6sixj0bs4dzihzgmdf1a0rm69qaq6d")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-native-tls" ,rust-native-tls-0.2) - ("rust-tokio" ,rust-tokio-0.2)))) - (home-page "https://tokio.rs") - (synopsis "TLS/SSL streams for Tokio") - (description - "This package provides an implementation of TLS/SSL streams for Tokio -using native-tls giving an implementation of TLS for nonblocking I/O -streams.") - (license license:expat))) + ("rust-tokio" ,rust-tokio-0.2)))))) (define-public rust-tokio-net-0.2 (package From d5249b02402d64c216ea5d053b7f88603b036e2a Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 21:55:27 +0100 Subject: [PATCH 0339/1003] gnu: Add rust-hyper-tls-0.5. * gnu/packages/crates-io.scm (rust-hyper-tls-0.5): New variable. (rust-hyper-tls-0.4): Inherit from above. --- gnu/packages/crates-io.scm | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 4eb46b5190..49cb92b715 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -18490,8 +18490,35 @@ HTTPS.") "This package provides glue code for Rustls and synchronous Hyper.") (license (list license:expat license:asl2.0)))) +(define-public rust-hyper-tls-0.5 + (package + (name "rust-hyper-tls") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "hyper-tls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "01crgy13102iagakf6q4mb75dprzr7ps1gj0l5hxm1cvm7gks66n")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bytes" ,rust-bytes-1) + ("rust-hyper" ,rust-hyper-0.14) + ("rust-native-tls" ,rust-native-tls-0.2) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-native-tls" ,rust-tokio-native-tls-0.3)))) + (home-page "https://hyper.rs") + (synopsis "Default TLS implementation for use with hyper") + (description "This package provides the default TLS implementation for use +with hyper.") + (license (list license:expat license:asl2.0)))) + (define-public rust-hyper-tls-0.4 (package + (inherit rust-hyper-tls-0.5) (name "rust-hyper-tls") (version "0.4.3") (source @@ -18502,7 +18529,6 @@ HTTPS.") (sha256 (base32 "1vcfyz7dxavf4brns15afmj5fxz88lbn05rrpbfqsnybdp2sqyfr")))) - (build-system cargo-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -18515,12 +18541,7 @@ HTTPS.") ("rust-tokio" ,rust-tokio-0.2) ("rust-tokio-tls" ,rust-tokio-tls-0.3)) #:cargo-development-inputs - (("rust-tokio" ,rust-tokio-0.2)))) - (home-page "https://hyper.rs") - (synopsis "Default TLS implementation for use with hyper") - (description "This package provides the default TLS implementation for use -with hyper.") - (license (list license:expat license:asl2.0)))) + (("rust-tokio" ,rust-tokio-0.2)))))) (define-public rust-hyper-tls-0.3 (package From aab798976ad31912b6be7d07952d615bac3f0535 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 21:56:38 +0100 Subject: [PATCH 0340/1003] gnu: Add rust-webpki-roots-0.21. * gnu/packages/crates-io.scm (rust-webpki-roots-0.21): New variable. (rust-webpki-roots-0.20): Inherit from above. --- gnu/packages/crates-io.scm | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 49cb92b715..d4f505c552 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -47773,8 +47773,31 @@ Verification.") #:cargo-development-inputs (("rust-base64" ,rust-base64-0.9)))))) +(define-public rust-webpki-roots-0.21 + (package + (name "rust-webpki-roots") + (version "0.21.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "webpki-roots" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0xi3xjjx6brqh6hwa5jsrxvflsrhjcxa2x26k62q3bcb1dz5n0c2")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-webpki" ,rust-webpki-0.21)))) + (home-page "https://github.com/ctz/webpki-roots") + (synopsis "Mozilla's CA root certificates for use with webpki") + (description "This package provides Mozilla's CA root certificates for use +with webpki.") + (license license:mpl2.0))) + (define-public rust-webpki-roots-0.20 (package + (inherit rust-webpki-roots-0.21) (name "rust-webpki-roots") (version "0.20.0") (source @@ -47785,15 +47808,9 @@ Verification.") (sha256 (base32 "17qpmyym1lsi967b4nc3112nb13ism8731bhjqd9hlajafkxw80g")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-webpki" ,rust-webpki-0.21)))) - (home-page "https://github.com/ctz/webpki-roots") - (synopsis "Mozilla's CA root certificates for use with webpki") - (description "This package provides Mozilla's CA root certificates for use -with webpki.") - (license license:mpl2.0))) + (("rust-webpki" ,rust-webpki-0.21)))))) (define-public rust-webpki-roots-0.19 (package From d08a4c776f1f55eb8cf4ad8e8a6ecbc4a74a7937 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 21:57:40 +0100 Subject: [PATCH 0341/1003] gnu: Add rust-rustls-native-certs-0.5. * gnu/packages/crates-io.scm (rust-rustls-native-certs-0.5): New variable. (rust-rustls-native-certs-0.4): Inherit from above. --- gnu/packages/crates-io.scm | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index d4f505c552..c32afd7464 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -34369,8 +34369,35 @@ rustc compiler.") ("rust-serde-derive" ,rust-serde-derive-1) ("rust-webpki-roots" ,rust-webpki-roots-0.14)))))) +(define-public rust-rustls-native-certs-0.5 + (package + (name "rust-rustls-native-certs") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls-native-certs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "14i0bbbigk6r6262hvc51vz4dvqk1f3vg2f264wfvn2vi30vf1ss")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-openssl-probe" ,rust-openssl-probe-0.1) + ("rust-rustls" ,rust-rustls-0.19) + ("rust-schannel" ,rust-schannel-0.1) + ("rust-security-framework" ,rust-security-framework-2)))) + (home-page "https://github.com/ctz/rustls-native-certs") + (synopsis "Use the platform native certificate store with rustls") + (description "@code{rustls-native-certs} allows rustls to use the platform +native certificate store.") + (license + (list license:asl2.0 license:isc license:expat)))) + (define-public rust-rustls-native-certs-0.4 (package + (inherit rust-rustls-native-certs-0.5) (name "rust-rustls-native-certs") (version "0.4.0") (source @@ -34381,7 +34408,6 @@ rustc compiler.") (sha256 (base32 "1f2rkvdkz92qcmwryyqiw9phkqkf95g4962ljpfq5nkjfsd477b2")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-openssl-probe" ,rust-openssl-probe-0.1) @@ -34393,13 +34419,7 @@ rustc compiler.") (("rust-ring" ,rust-ring-0.16) ("rust-untrusted" ,rust-untrusted-0.7) ("rust-webpki" ,rust-webpki-0.21) - ("rust-webpki-roots" ,rust-webpki-roots-0.20)))) - (home-page "https://github.com/ctz/rustls-native-certs") - (synopsis "Use the platform native certificate store with rustls") - (description "@code{rustls-native-certs} allows rustls to use the platform -native certificate store.") - (license - (list license:asl2.0 license:isc license:expat)))) + ("rust-webpki-roots" ,rust-webpki-roots-0.20)))))) (define-public rust-rusttype-0.9 (package From 4f2202bf30963e4009ad777a8dc211bdee00b703 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 21:58:42 +0100 Subject: [PATCH 0342/1003] gnu: Add rust-ct-logs-0.8. * gnu/packages/crates-io.scm (rust-ct-logs-0.8): New variable. (rust-ct-logs-0.7): Inherit from above. --- gnu/packages/crates-io.scm | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index c32afd7464..b7caced1ba 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -9828,8 +9828,32 @@ reallocations.") "Bare bones CSV parsing with no_std support.") (license (list license:unlicense license:expat)))) +(define-public rust-ct-logs-0.8 + (package + (name "rust-ct-logs") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ct-logs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1j5as2h789c2gazq3drl5i58xk8zzx6sxd1wdr19x3d6dwc1da61")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-sct" ,rust-sct-0.6)))) + (home-page "https://github.com/ctz/ct-logs") + (synopsis "Google's list of Certificate Transparency logs") + (description + "This package contains Google's list of Certificate Transparency logs for +use with sct crate.") + (license (list license:asl2.0 license:isc license:expat)))) + (define-public rust-ct-logs-0.7 (package + (inherit rust-ct-logs-0.8) (name "rust-ct-logs") (version "0.7.0") (source @@ -9840,14 +9864,8 @@ reallocations.") (sha256 (base32 "0bk7pbmkjm18cgccm4a76vyn3wkaf2z4bh0jy9fk3dl4188i73lc")))) - (build-system cargo-build-system) (arguments - `(#:cargo-inputs (("rust-sct" ,rust-sct-0.6)))) - (home-page "https://github.com/ctz/ct-logs") - (synopsis "Google's list of Certificate Transparency logs") - (description "This package contains Google's list of Certificate -Transparency logs for use with sct crate.") - (license (list license:asl2.0 license:isc license:expat)))) + `(#:cargo-inputs (("rust-sct" ,rust-sct-0.6)))))) (define-public rust-ct-logs-0.6 (package From ec64626f157357365b9b1940e78ac3a632734dd0 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 22:00:11 +0100 Subject: [PATCH 0343/1003] gnu: Add rust-hyper-rustls-0.22. * gnu/packages/crates-io.scm (rust-hyper-rustls-0.22): New variable. (rust-hyper-rustls-0.21): Inherit from above. --- gnu/packages/crates-io.scm | 42 ++++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index b7caced1ba..84958ef223 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -18422,8 +18422,41 @@ SystemTime}}.") 0.11.x.") (license license:expat))) +(define-public rust-hyper-rustls-0.22 + (package + (name "rust-hyper-rustls") + (version "0.22.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "hyper-rustls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0r2szp06nzqx6gblcw69kwx8afjp218fc083kfpw0i3d66bpm7sz")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-ct-logs" ,rust-ct-logs-0.8) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-hyper" ,rust-hyper-0.14) + ("rust-log" ,rust-log-0.4) + ("rust-rustls" ,rust-rustls-0.19) + ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.5) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.22) + ("rust-webpki" ,rust-webpki-0.21) + ("rust-webpki-roots" ,rust-webpki-roots-0.21)))) + (home-page "https://github.com/ctz/hyper-rustls") + (synopsis "Rustls+Hyper integration for pure Rust HTTPS") + (description + "This package provides Rustls+Hyper integration for pure Rust HTTPS.") + (license + (list license:asl2.0 license:isc license:expat)))) + (define-public rust-hyper-rustls-0.21 (package + (inherit rust-hyper-rustls-0.22) (name "rust-hyper-rustls") (version "0.21.0") (source @@ -18434,7 +18467,6 @@ SystemTime}}.") (sha256 (base32 "1dmbj15fx6qyg26hji2jm7q9y383090jy3z9zjn5xs4f7v43qx1p")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bytes" ,rust-bytes-0.5) @@ -18449,13 +18481,7 @@ SystemTime}}.") ("rust-webpki" ,rust-webpki-0.21) ("rust-webpki-roots" ,rust-webpki-roots-0.20)) #:cargo-development-inputs - (("rust-tokio" ,rust-tokio-0.2)))) - (home-page "https://github.com/ctz/hyper-rustls") - (synopsis "Rustls+hyper integration for pure rust HTTPS") - (description "This package provides Rustls+hyper integration for pure rust -HTTPS.") - (license - (list license:asl2.0 license:isc license:expat)))) + (("rust-tokio" ,rust-tokio-0.2)))))) (define-public rust-hyper-rustls-0.17 (package From 92075bd48d6d83bf92589f64c427ed6cde0557f6 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 22:52:21 +0100 Subject: [PATCH 0344/1003] gnu: Add rust-httpdate-0.3. * gnu/packages/crates-io.scm (rust-httpdate-0.3): New variable. --- gnu/packages/crates-io.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 84958ef223..2fdf2bfebb 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -18134,6 +18134,25 @@ or response body.") "This package provides a tiny, safe, speedy, zero-copy HTTP/1.x parser.") (license (list license:asl2.0 license:expat)))) +(define-public rust-httpdate-0.3 + (package + (name "rust-httpdate") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "httpdate" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0izbd3sf0625wm4rrfv85xa4xa8j4n1ldxhwlkgff4cm6rh4sjs9")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://github.com/pyfisch/httpdate") + (synopsis "HTTP date parsing and formatting") + (description + "This crates parses and formats HTTP datetime strings.") + (license (list license:expat license:asl2.0)))) + (define-public rust-humansize-1 (package (name "rust-humansize") From 50f7108957c8ce255d16975004b55e312febf800 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 22:53:11 +0100 Subject: [PATCH 0345/1003] gnu: Add rust-tokio-util-0.6. * gnu/packages/crates-io.scm (rust-tokio-util-0.6): New variable. (rust-tokio-util-0.3): Inherit from above. --- gnu/packages/crates-io.scm | 39 +++++++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 2fdf2bfebb..624cf277ed 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -43734,8 +43734,39 @@ stream-based WebSocket implementation.") (description "Unix Domain sockets for Tokio.") (license license:expat))) +(define-public rust-tokio-util-0.6 + (package + (name "rust-tokio-util") + (version "0.6.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-util" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0agvfvvgh225vgb2z9w83lwqcqsy3pvkcbvnaz7m7rj6dg6facgc")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bytes" ,rust-bytes-1) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-io" ,rust-futures-io-0.3) + ("rust-futures-sink" ,rust-futures-sink-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-pin-project-lite" ,rust-pin-project-lite-0.2) + ("rust-slab" ,rust-slab-0.4) + ("rust-tokio" ,rust-tokio-1)))) + (home-page "https://tokio.rs") + (synopsis "Additional utilities for working with Tokio") + (description + "This package provides additional utilities for working with Tokio.") + (license license:expat))) + (define-public rust-tokio-util-0.3 (package + (inherit rust-tokio-util-0.6) (name "rust-tokio-util") (version "0.3.1") (source @@ -43746,7 +43777,6 @@ stream-based WebSocket implementation.") (sha256 (base32 "16b48dl6sbc9x944jgjvsd65ab1w2c2qcziddbrbwv1b3y4l50my")))) - (build-system cargo-build-system) (arguments `(#:tests? #f #:cargo-inputs @@ -43760,12 +43790,7 @@ stream-based WebSocket implementation.") #:cargo-development-inputs (("rust-futures" ,rust-futures-0.3) ("rust-tokio" ,rust-tokio-0.2) - ("rust-tokio-test" ,rust-tokio-test-0.2)))) - (home-page "https://tokio.rs") - (synopsis "Additional utilities for working with Tokio") - (description "This package provides additional utilities for working with -Tokio.") - (license license:expat))) + ("rust-tokio-test" ,rust-tokio-test-0.2)))))) (define-public rust-tokio-util-0.2 (package From 0846ddb129f50fa20587dcd0896262b2a8703fac Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 22:54:12 +0100 Subject: [PATCH 0346/1003] gnu: Add rust-h2-0.3. * gnu/packages/crates-io.scm (rust-h2-0.3): New variable. (rust-h2-0.2): Inherit from above. --- gnu/packages/crates-io.scm | 39 ++++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 624cf277ed..6bbff19546 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -16823,8 +16823,40 @@ standard printing of search results, similar to grep itself.") of gzip files based on the gzip header implementation in the @code{flate2} crate.") (license (list license:expat license:asl2.0)))) +(define-public rust-h2-0.3 + (package + (name "rust-h2") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "h2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0y5fxy3sy0s3j1h6p0c2xk5n2gs4jk1dvmk88lvgwm22ywfv0cnq")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bytes" ,rust-bytes-1) + ("rust-fnv" ,rust-fnv-1) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-sink" ,rust-futures-sink-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-http" ,rust-http-0.2) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-slab" ,rust-slab-0.4) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-util" ,rust-tokio-util-0.6) + ("rust-tracing" ,rust-tracing-0.1)))) + (home-page "https://github.com/hyperium/h2") + (synopsis "HTTP/2.0 client and server") + (description "This package provides an HTTP/2.0 client and server.") + (license license:expat))) + (define-public rust-h2-0.2 (package + (inherit rust-h2-0.3) (name "rust-h2") (version "0.2.6") (source @@ -16835,7 +16867,6 @@ of gzip files based on the gzip header implementation in the @code{flate2} crate (sha256 (base32 "0lvdrzn43iikl521dlrb7z96lsmy7l6nnm35ylf00q7dmq5rwgwr")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bytes" ,rust-bytes-0.5) @@ -16861,11 +16892,7 @@ of gzip files based on the gzip header implementation in the @code{flate2} crate ("rust-tokio-rustls" ,rust-tokio-rustls-0.12) ("rust-walkdir" ,rust-walkdir-1) ("rust-webpki" ,rust-webpki-0.21) - ("rust-webpki-roots" ,rust-webpki-roots-0.17)))) - (home-page "https://github.com/hyperium/h2") - (synopsis "HTTP/2.0 client and server") - (description "This package provides an HTTP/2.0 client and server.") - (license license:expat))) + ("rust-webpki-roots" ,rust-webpki-roots-0.17)))))) (define-public rust-h2-0.1 (package From b31d9a2fe644c974adb610b1b98307adb1aabfd7 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 22:57:22 +0100 Subject: [PATCH 0347/1003] gnu: Add rust-http-body-0.4. * gnu/packages/crates-io.scm (rust-http-body-0.4): New variable. (rust-http-body-0.3): Inherit from above. --- gnu/packages/crates-io.scm | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 6bbff19546..815f5f2733 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -17999,8 +17999,33 @@ requests and responses.") ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1)))))) +(define-public rust-http-body-0.4 + (package + (name "rust-http-body") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "http-body" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "150rkibhyrcmsyi0qzwx4hp02c4lga1kkdg8j7l5wkh7xqkvsq98")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bytes" ,rust-bytes-1) + ("rust-http" ,rust-http-0.2)))) + (home-page "https://github.com/hyperium/http-body") + (synopsis "Asynchronous, streaming, HTTP request or response body") + (description + "This crate provides a trait representing an asynchronous, streaming, +HTTP request or response body.") + (license license:expat))) + (define-public rust-http-body-0.3 (package + (inherit rust-http-body-0.4) (name "rust-http-body") (version "0.3.1") (source @@ -18010,16 +18035,10 @@ requests and responses.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "06qi0ni45lb92w3ml260c0bxbq5zd4snjmz0a9k69xq6021zzm8k")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bytes" ,rust-bytes-0.5) - ("rust-http" ,rust-http-0.2)))) - (home-page "https://github.com/hyperium/http-body") - (synopsis "Asynchronous, streaming, HTTP request or response body") - (description "Trait representing an asynchronous, streaming, HTTP request -or response body.") - (license license:expat))) + ("rust-http" ,rust-http-0.2)))))) (define-public rust-http-body-0.1 (package/inherit rust-http-body-0.3 From 95b13ec6372cfdb57c09a4ebde7fd070a990f2d0 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 22:55:21 +0100 Subject: [PATCH 0348/1003] gnu: Add rust-hyper-0.14. * gnu/packages/crates-io.scm (rust-hyper-0.14): New variable. (rust-hyper-0.13): Inherit from above. --- gnu/packages/crates-io.scm | 45 +++++++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 815f5f2733..759c908454 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -18268,8 +18268,46 @@ SystemTime}}.") ("rust-rand" ,rust-rand-0.4) ("rust-time" ,rust-time-0.1)))))) +(define-public rust-hyper-0.14 + (package + (name "rust-hyper") + (version "0.14.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "hyper" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1ivaqbcvsws6svwykiq7fgma7wds72r83qianzh5b41ln714dsg8")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bytes" ,rust-bytes-1) + ("rust-futures-channel" ,rust-futures-channel-0.3) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-h2" ,rust-h2-0.3) + ("rust-http" ,rust-http-0.2) + ("rust-http-body" ,rust-http-body-0.4) + ("rust-httparse" ,rust-httparse-1) + ("rust-httpdate" ,rust-httpdate-0.3) + ("rust-itoa" ,rust-itoa-0.4) + ("rust-libc" ,rust-libc-0.2) + ("rust-pin-project" ,rust-pin-project-1) + ("rust-socket2" ,rust-socket2-0.3) + ("rust-tokio" ,rust-tokio-1) + ("rust-tower-service" ,rust-tower-service-0.3) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-want" ,rust-want-0.3)))) + (home-page "https://hyper.rs") + (synopsis "Fast and correct HTTP library.") + (description "This package provides a fast and correct HTTP library.") + (license license:expat))) + (define-public rust-hyper-0.13 (package + (inherit rust-hyper-0.14) (name "rust-hyper") (version "0.13.7") (source @@ -18280,7 +18318,6 @@ SystemTime}}.") (sha256 (base32 "1symcnba2y03b8lj6xp2wd994lk3xyk3wizacjg5s60njzfshs1y")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bytes" ,rust-bytes-0.5) @@ -18312,11 +18349,7 @@ SystemTime}}.") ("rust-tokio-test" ,rust-tokio-test-0.2) ("rust-tokio-util" ,rust-tokio-util-0.3) ("rust-tower-util" ,rust-tower-util-0.3) - ("rust-url" ,rust-url-1)))) - (home-page "https://hyper.rs") - (synopsis "Fast and correct HTTP library.") - (description "This package provides a fast and correct HTTP library.") - (license license:expat))) + ("rust-url" ,rust-url-1)))))) (define-public rust-hyper-0.12 (package From 8a6c39e84886b62839d8aa5cf41de733559d5436 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 22:59:24 +0100 Subject: [PATCH 0349/1003] gnu: Add rust-bindgen-0.57. * gnu/packages/crates-io.scm (rust-bindgen-0.57): New variable. (rust-bindgen-0.55): Inherit from above. --- gnu/packages/crates-io.scm | 45 ++++++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 759c908454..aef9f97393 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -3985,8 +3985,45 @@ that uses Serde for transforming structs into bytes and vice versa!") (("rust-serde-bytes" ,rust-serde-bytes-0.10) ("rust-serde-derive" ,rust-serde-derive-1)))))) +(define-public rust-bindgen-0.57 + (package + (name "rust-bindgen") + (version "0.57.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "bindgen" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0g96ypnck6n60p3cz9k3y3jnxi4z7jfv2pha5bxsm8269806aj7x")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cexpr" ,rust-cexpr-0.4) + ("rust-clang-sys" ,rust-clang-sys-1) + ("rust-clap" ,rust-clap-2) + ("rust-env-logger" ,rust-env-logger-0.8) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-lazycell" ,rust-lazycell-1) + ("rust-log" ,rust-log-0.4) + ("rust-peeking-take-while" ,rust-peeking-take-while-0.1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-regex" ,rust-regex-1) + ("rust-rustc-hash" ,rust-rustc-hash-1) + ("rust-shlex" ,rust-shlex-0.1) + ("rust-which" ,rust-which-3)))) + (home-page "https://rust-lang.github.io/rust-bindgen/") + (synopsis "Generate Rust FFI bindings to C and C++ libraries.") + (description "This package can be used to automatically generate Rust FFI +bindings to C and C++ libraries.") + (license license:bsd-3))) + (define-public rust-bindgen-0.55 (package + (inherit rust-bindgen-0.57) (name "rust-bindgen") (version "0.55.1") (source @@ -3997,7 +4034,6 @@ that uses Serde for transforming structs into bytes and vice versa!") (sha256 (base32 "0hxlvy9q9984rr3rqaxwmgxjrd9wh11mcc161hv3shz6b7jkrcbm")))) - (build-system cargo-build-system) (inputs `(("clang" ,clang))) (arguments @@ -4027,12 +4063,7 @@ that uses Serde for transforming structs into bytes and vice versa!") (add-after 'unpack 'enable-unstable-features (lambda _ (setenv "RUSTC_BOOTSTRAP" "1") - #t))))) - (home-page "https://rust-lang.github.io/rust-bindgen/") - (synopsis "Generate Rust FFI bindings to C and C++ libraries.") - (description "This package can be used to automatically generate Rust FFI -bindings to C and C++ libraries.") - (license license:bsd-3))) + #t))))))) (define-public rust-bindgen-0.54 (package From 1fa3b736186f4afae1e9fee337c4dd7cb84d2630 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 23:00:25 +0100 Subject: [PATCH 0350/1003] gnu: rust-zstd-sys-1: Update to 1.4.20+zstd.1.4.9. * gnu/packages/crates-io.scm (rust-zstd-sys-1): Update to 1.4.20+zstd.1.4.9. --- gnu/packages/crates-io.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index aef9f97393..b1dc185ef6 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -49300,7 +49300,7 @@ compression library.") (define-public rust-zstd-sys-1 (package (name "rust-zstd-sys") - (version "1.4.17+zstd.1.4.5") + (version "1.4.20+zstd.1.4.9") (source (origin (method url-fetch) @@ -49309,15 +49309,13 @@ compression library.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "06zhk1j5v1sm04xxrw72lgzyi1wcq7kvj6vbd4ibamph9mj4k4mq")))) + "13kc3crvqg021fya48jw0spfbxdli5anmry3w93r8bfgswrvgmgb")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-libc" ,rust-libc-0.2) - ("rust-bindgen" ,rust-bindgen-0.54) + (("rust-bindgen" ,rust-bindgen-0.57) ("rust-cc" ,rust-cc-1) - ("rust-glob" ,rust-glob-0.3) - ("rust-itertools" ,rust-itertools-0.9) + ("rust-libc" ,rust-libc-0.2) ("rust-pkg-config" ,rust-pkg-config-0.3)))) (home-page "https://github.com/gyscos/zstd-rs") (synopsis "Low-level bindings to the zstd compression library") From 7c0565dcb5fe9f346bc1c1fb8cb0555a80975432 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 23:02:23 +0100 Subject: [PATCH 0351/1003] gnu: Add rust-zstd-safe-3. * gnu/packages/crates-io.scm (rust-zstd-safe-3): New variable. (rust-zstd-safe-2): Inherit from above. --- gnu/packages/crates-io.scm | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index b1dc185ef6..6b7becfbd3 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -49273,8 +49273,33 @@ implementation that works everywhere, even WASM!") library.") (license license:expat))) +(define-public rust-zstd-safe-3 + (package + (name "rust-zstd-safe") + (version "3.0.1+zstd.1.4.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "zstd-safe" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "133gassn5zy4vf0hhgsff3gxv1q3nc0bzi3qrqq7n4iqv6ycm1qk")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-zstd-sys" ,rust-zstd-sys-1)))) + (home-page "https://github.com/gyscos/zstd-rs") + (synopsis "Safe low-level bindings to the zstd compression library") + (description + "This package provides safe low-level bindings to the zstd compression +library.") + (license (list license:expat license:asl2.0)))) + (define-public rust-zstd-safe-2 (package + (inherit rust-zstd-safe-3) (name "rust-zstd-safe") (version "2.0.5+zstd.1.4.5") (source @@ -49285,16 +49310,10 @@ library.") (sha256 (base32 "0m8h1x030cj5bj7zxxf6gdp91bp0ays2vi9rlqllgxi71lp69yqw")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) - ("rust-zstd-sys" ,rust-zstd-sys-1)))) - (home-page "https://github.com/gyscos/zstd-rs") - (synopsis "Safe low-level bindings to the zstd compression library") - (description "This package provides safe low-level bindings to the zstd -compression library.") - (license (list license:expat license:asl2.0)))) + ("rust-zstd-sys" ,rust-zstd-sys-1)))))) ;; TODO: Unbundle zstd. (define-public rust-zstd-sys-1 From c2e511845206868c4781315d74e5281c71ef8a09 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 23:03:21 +0100 Subject: [PATCH 0352/1003] gnu: Add rust-zstd-0.6. * gnu/packages/crates-io.scm (rust-zstd-0.6): New variable. (rust-zstd-0.5): Inherit from above. --- gnu/packages/crates-io.scm | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 6b7becfbd3..c605a670dd 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -49243,8 +49243,33 @@ implementation that works everywhere, even WASM!") "This package provides a library for parsing compiled zoneinfo files.") (license license:expat))) +(define-public rust-zstd-0.6 + (package + (name "rust-zstd") + (version "0.6.1+zstd.1.4.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "zstd" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "18riavdrq4cy10ygvrxby87nxyxbazpy53qvavc0bwlqyxvmxrax")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-futures" ,rust-futures-0.1) + ("rust-tokio-io" ,rust-tokio-io-0.1) + ("rust-zstd-safe" ,rust-zstd-safe-3)))) + (home-page "https://github.com/gyscos/zstd-rs") + (synopsis "Binding to the zstd compression library") + (description + "This package provides a binding to the zstd compression library.") + (license license:expat))) + (define-public rust-zstd-0.5 (package + (inherit rust-zstd-0.6) (name "rust-zstd") (version "0.5.3+zstd.1.4.5") (source @@ -49255,7 +49280,6 @@ implementation that works everywhere, even WASM!") (sha256 (base32 "1n0cgj9i3dk90kn7jcahq5fligqrjfzmnq08hfg71yhyfypjxcq1")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-futures" ,rust-futures-0.1) @@ -49266,12 +49290,7 @@ implementation that works everywhere, even WASM!") ("rust-humansize" ,rust-humansize-1) ("rust-partial-io" ,rust-partial-io-0.3) ("rust-quickcheck" ,rust-quickcheck-0.6) - ("rust-walkdir" ,rust-walkdir-2)))) - (home-page "https://github.com/gyscos/zstd-rs") - (synopsis "Binding to the zstd compression library") - (description "This package provides a binding to the zstd compression -library.") - (license license:expat))) + ("rust-walkdir" ,rust-walkdir-2)))))) (define-public rust-zstd-safe-3 (package From 0d171198a2cee87cbc544eb82e235d8b144cfb74 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 23:06:32 +0100 Subject: [PATCH 0353/1003] gnu: rust-async-compression-0.3: Update to 0.3.7. * gnu/packages/crates-io.scm (rust-async-compression-0.3): Update to 0.3.7. [arguments]: Skip tests. --- gnu/packages/crates-io.scm | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index c605a670dd..2db93cf956 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -2523,7 +2523,7 @@ Rust.") (define-public rust-async-compression-0.3 (package (name "rust-async-compression") - (version "0.3.5") + (version "0.3.7") (source (origin (method url-fetch) @@ -2531,24 +2531,30 @@ Rust.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "164dfy1wrl9qbj95rvcpkfbrkpz3c1s7mk288sv9cwp7rj5pc8ch")))) + "0dwm5zgi560m1xy30k3a4sg96mlfkjdk8jl6a1dk4d72ah8iyb5p")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + ;; FIXME: Tests fail with "error[E0432]: unresolved import `syn::export`" + ;; when compiling ntest_test_cases v0.3.4. + `(#:tests? #false + #:cargo-inputs (("rust-brotli" ,rust-brotli-3) ("rust-bytes" ,rust-bytes-0.5) - ("rust-bzip2" ,rust-bzip2-0.3) + ("rust-bzip2" ,rust-bzip2-0.4) ("rust-flate2" ,rust-flate2-1) ("rust-futures-core" ,rust-futures-core-0.3) ("rust-futures-io" ,rust-futures-io-0.3) ("rust-memchr" ,rust-memchr-2) - ("rust-pin-project-lite" ,rust-pin-project-lite-0.1) + ("rust-pin-project-lite" ,rust-pin-project-lite-0.2) ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio" ,rust-tokio-0.3) + ("rust-tokio" ,rust-tokio-1) ("rust-xz2" ,rust-xz2-0.1) - ("rust-zstd" ,rust-zstd-0.5) - ("rust-zstd-safe" ,rust-zstd-safe-2)) + ("rust-zstd" ,rust-zstd-0.6) + ("rust-zstd-safe" ,rust-zstd-safe-3)) #:cargo-development-inputs - (("rust-bytes" ,rust-bytes-0.5) + (("rust-bytes" ,rust-bytes-1) + ("rust-bytes" ,rust-bytes-0.5) ("rust-futures" ,rust-futures-0.3) ("rust-futures-test" ,rust-futures-test-0.3) ("rust-ntest" ,rust-ntest-0.3) @@ -2556,7 +2562,11 @@ Rust.") ("rust-proptest-derive" ,rust-proptest-derive-0.1) ("rust-rand" ,rust-rand-0.7) ("rust-timebomb" ,rust-timebomb-0.1) - ("rust-tokio" ,rust-tokio-0.2)))) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio" ,rust-tokio-0.3) + ("rust-tokio-util" ,rust-tokio-util-0.4) + ("rust-tokio-util" ,rust-tokio-util-0.6)))) (home-page "https://github.com/Nemo157/async-compression") (synopsis "Adaptors between compression crates and Rust's modern asynchronous IO types") (description "This package provides adaptors between compression crates From 0f0451c6cb191a6ff0386033edd94b5612a765f1 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 23:07:45 +0100 Subject: [PATCH 0354/1003] gnu: Add rust-tokio-util-0.4. * gnu/packages/crates-io.scm (rust-tokio-util-0.4): New variable. --- gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 2db93cf956..94b7892f2c 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -43884,6 +43884,30 @@ stream-based WebSocket implementation.") "This package provides additional utilities for working with Tokio.") (license license:expat))) +(define-public rust-tokio-util-0.4 + (package + (inherit rust-tokio-util-0.6) + (name "rust-tokio-util") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-util" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1m4pdg2gciagc9c5psg4lm51mcg69xwxr1yjdr0s0nv6yjckcy94")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-io" ,rust-futures-io-0.3) + ("rust-futures-sink" ,rust-futures-sink-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-pin-project-lite" ,rust-pin-project-lite-0.1) + ("rust-slab" ,rust-slab-0.4) + ("rust-tokio" ,rust-tokio-0.3)))))) + (define-public rust-tokio-util-0.3 (package (inherit rust-tokio-util-0.6) From 59e0c9a439690b3b7a402326d6672fce363f7a9f Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 23:14:08 +0100 Subject: [PATCH 0355/1003] gnu: Add rust-reqwest-0.11. * gnu/packages/crates-io.scm (rust-reqwest-0.11): New variable. (rust-reqwest-0.10): Inherit from above. --- gnu/packages/crates-io.scm | 68 ++++++++++++++++++++++++++++++++++---- 1 file changed, 62 insertions(+), 6 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 94b7892f2c..cd54927742 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -32331,8 +32331,69 @@ uses finite automata and guarantees linear time matching on all inputs.") (description "File reopening utility.") (license (list license:asl2.0 license:expat)))) +(define-public rust-reqwest-0.11 + (package + (name "rust-reqwest") + (version "0.11.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "reqwest" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1m12j00if0gj0alhad4r7w0air4j0gqlpiwiqpsxna4l51zha4mz")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-async-compression" ,rust-async-compression-0.3) + ("rust-base64" ,rust-base64-0.13) + ("rust-bytes" ,rust-bytes-1) + ("rust-cookie" ,rust-cookie-0.14) + ("rust-cookie-store" ,rust-cookie-store-0.12) + ("rust-encoding-rs" ,rust-encoding-rs-0.8) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-http" ,rust-http-0.2) + ("rust-http-body" ,rust-http-body-0.4) + ("rust-hyper" ,rust-hyper-0.14) + ("rust-hyper-rustls" ,rust-hyper-rustls-0.22) + ("rust-hyper-tls" ,rust-hyper-tls-0.5) + ("rust-ipnet" ,rust-ipnet-2) + ("rust-js-sys" ,rust-js-sys-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-mime" ,rust-mime-0.3) + ("rust-mime-guess" ,rust-mime-guess-2) + ("rust-native-tls" ,rust-native-tls-0.2) + ("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-pin-project-lite" ,rust-pin-project-lite-0.2) + ("rust-rustls" ,rust-rustls-0.19) + ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.5) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-serde-urlencoded" ,rust-serde-urlencoded-0.7) + ("rust-time" ,rust-time-0.2) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-native-tls" ,rust-tokio-native-tls-0.3) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.22) + ("rust-tokio-socks" ,rust-tokio-socks-0.5) + ("rust-tokio-util" ,rust-tokio-util-0.6) + ("rust-trust-dns-resolver" ,rust-trust-dns-resolver-0.20) + ("rust-url" ,rust-url-2) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) + ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4) + ("rust-web-sys" ,rust-web-sys-0.3) + ("rust-webpki-roots" ,rust-webpki-roots-0.21) + ("rust-winreg" ,rust-winreg-0.7)))) + (home-page "https://github.com/seanmonstar/reqwest") + (synopsis "High level HTTP client library") + (description "This package provides a high level HTTP client library.") + (license (list license:expat license:asl2.0)))) + (define-public rust-reqwest-0.10 (package + (inherit rust-reqwest-0.11) (name "rust-reqwest") (version "0.10.10") (source @@ -32343,7 +32404,6 @@ uses finite automata and guarantees linear time matching on all inputs.") (sha256 (base32 "0z7l46m1mjnvncscaq61zq6qmazrmb33vwjcnfrxpi0liqdgh607")))) - (build-system cargo-build-system) (arguments `(#:cargo-test-flags '("--release" "--" ;; These tests require internet access. @@ -32404,11 +32464,7 @@ uses finite automata and guarantees linear time matching on all inputs.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("openssl" ,openssl))) - (home-page "https://github.com/seanmonstar/reqwest") - (synopsis "High level HTTP client library") - (description "This package provides a high level HTTP client library.") - (license (list license:expat license:asl2.0)))) + `(("openssl" ,openssl))))) (define-public rust-reqwest-0.9 (package From b1e4be8fea2e0f17ec2b6a918bdb0888b657f26d Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 23:15:22 +0100 Subject: [PATCH 0356/1003] gnu: Add rust-cssparser-0.28. * gnu/packages/crates-io.scm (rust-cssparser-0.28): New variable. (rust-cssparser-0.27): Inherit from above. --- gnu/packages/crates-io.scm | 40 +++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index cd54927742..aa46a98b4d 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -9675,8 +9675,40 @@ algorithms.") reallocations.") (license license:asl2.0))) +(define-public rust-cssparser-0.28 + (package + (name "rust-cssparser") + (version "0.28.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "cssparser" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1h924c5g2rwlmgk8hllciyky3ih3z9vf04xz3xsp3cv1jyd5kf0x")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cssparser-macros" ,rust-cssparser-macros-0.6) + ("rust-dtoa-short" ,rust-dtoa-short-0.3) + ("rust-itoa" ,rust-itoa-0.4) + ("rust-matches" ,rust-matches-0.1) + ("rust-phf" ,rust-phf-0.8) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-serde" ,rust-serde-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/servo/rust-cssparser") + (synopsis "Rust implementation of CSS Syntax Level 3") + (description + "This package contains a Rust implementation of CSS Syntax Level 3.") + (license license:mpl2.0))) + (define-public rust-cssparser-0.27 (package + (inherit rust-cssparser-0.28) (name "rust-cssparser") (version "0.27.2") (source @@ -9688,7 +9720,6 @@ reallocations.") (sha256 (base32 "02nbm690rmkaz1ca0383qq7mc1g066w3s85f17pdihnda79njjvm")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; Not all files included in the tarball. #:cargo-inputs @@ -9705,12 +9736,7 @@ reallocations.") #:cargo-development-inputs (("rust-difference" ,rust-difference-2) ("rust-encoding-rs" ,rust-encoding-rs-0.8) - ("rust-serde-json" ,rust-serde-json-1)))) - (home-page "https://github.com/servo/rust-cssparser") - (synopsis "Rust implementation of CSS Syntax Level 3") - (description - "This package contains a Rust implementation of CSS Syntax Level 3.") - (license license:mpl2.0))) + ("rust-serde-json" ,rust-serde-json-1)))))) (define-public rust-cssparser-0.25 (package From a70216c3277c5c8caade56bef7b35a1404f7f897 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 10 Mar 2021 23:18:28 +0100 Subject: [PATCH 0357/1003] gnu: monolith: Update to 2.4.1. * gnu/packages/web.scm (monolith): Update to 2.4.1. --- gnu/packages/web.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 836328d758..ed9273e683 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -242,7 +242,7 @@ Interface} specification.") (define-public monolith (package (name "monolith") - (version "2.4.0") + (version "2.4.1") (source (origin (method git-fetch) @@ -251,17 +251,18 @@ Interface} specification.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "18c6bsv9m3spiyfhqp08v807m93r6n9hrlv4qbfiqp4kw5aryb4h")))) + (base32 "1z0bcvk2cvx2cd0hs8addzcb070xvrkcxvg25691xw0ikiynpkwz")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-base64" ,rust-base64-0.13) + (("rust-atty" ,rust-atty-0.2) + ("rust-base64" ,rust-base64-0.13) ("rust-chrono" ,rust-chrono-0.4) ("rust-clap" ,rust-clap-2) - ("rust-cssparser" ,rust-cssparser-0.27) + ("rust-cssparser" ,rust-cssparser-0.28) ("rust-html5ever" ,rust-html5ever-0.24) ("rust-regex" ,rust-regex-1) - ("rust-reqwest" ,rust-reqwest-0.10) + ("rust-reqwest" ,rust-reqwest-0.11) ("rust-sha2" ,rust-sha2-0.9) ("rust-url" ,rust-url-2)) #:cargo-development-inputs From 6eea92e38bfe5e74eecbff4bb8885e5a64163eb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 23:57:16 +0100 Subject: [PATCH 0358/1003] gnu: librecad: Update to 2.2.0-rc2 [fixes CVE-2018-19105]. * gnu/packages/engineering.scm (librecad): Update to 2.2.0-rc2. --- gnu/packages/engineering.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index b4ffc5f477..9a10c21fc0 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -127,7 +127,7 @@ (define-public librecad (package (name "librecad") - (version "2.1.3") + (version "2.2.0-rc2") (source (origin (method url-fetch) (uri (string-append @@ -136,7 +136,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "01nvc1g3si05r5np1pzn62ah9w84p8nxa32wqrjh6gdi17jfvi3l")))) + "0a7fzhxkkn2s3hkgqrw3s3wyspzfla3c5lgbsjyqzvlnrp3anxnm")))) (build-system gnu-build-system) (arguments '(#:phases From a3926c82276831312abf5c7bab87550b4688ccea Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 00:38:24 +0100 Subject: [PATCH 0359/1003] gnu: mutt: Update to 2.0.6. * gnu/packages/mail.scm (mutt): Update to 2.0.6. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index d21c0e204d..f81674a5a2 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -446,7 +446,7 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "2.0.5") + (version "2.0.6") (source (origin (method url-fetch) (uri (list @@ -456,7 +456,7 @@ aliasing facilities to work just as they would on normal mail.") version ".tar.gz"))) (sha256 (base32 - "0k80s27sf7djb7zxj81ihksr8jkr71mfaa8976fzh41i1pn5l7g2")) + "165mpivdhvhavglykwlz0hss2akxd6i6l40rgxs29mjzi52irqw1")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs From 6900105334c3dce5c8ccee716b0da767b5c9acc6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 00:38:34 +0100 Subject: [PATCH 0360/1003] gnu: os-prober: Update to 1.78. * gnu/packages/bootloaders.scm (os-prober): Update to 1.78. --- gnu/packages/bootloaders.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 99281b2cc6..c9a3d2c217 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -1027,15 +1027,14 @@ tools, and more.") (define-public os-prober (package (name "os-prober") - (version "1.77") + (version "1.78") (source (origin (method url-fetch) (uri (string-append "mirror://debian/pool/main/o/os-prober/os-prober_" version ".tar.xz")) (sha256 - (base32 - "0pvhrw4h05n21zw7ig3a3bi8aqdh6zxs0x1znz4g7vhspsps93ld")))) + (base32 "1sahk72blsrlirly4xlwa8jfxrpwagyn7b81p92q2s9m218rz43f")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) From 5929668ee8b24d23a0d59b6380201bd634631226 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 00:39:05 +0100 Subject: [PATCH 0361/1003] gnu: weechat: Update to 3.1. * gnu/packages/irc.scm (weechat): Update to 3.1. --- gnu/packages/irc.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index 718853d897..a595b40594 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner ;;; Copyright © 2016 Nikita ;;; Copyright © 2017 Marius Bakke -;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice +;;; Copyright © 2017–2021 Tobias Geerinckx-Rice ;;; Copyright © 2020 Oleg Pykhalov ;;; Copyright © 2020 Vinicius Monego ;;; Copyright © 2020 Jakub Kądziołka @@ -186,14 +186,14 @@ SILC and ICB protocols via plugins.") (define-public weechat (package (name "weechat") - (version "3.0") + (version "3.1") (source (origin (method url-fetch) (uri (string-append "https://weechat.org/files/src/weechat-" version ".tar.xz")) (sha256 (base32 - "1yziv4cbcy61c9mb81c5sg3rmw6nh0srzwmry4svhriv6rdd5dvc")))) + "1xx4fx7785yw3ml3k1z08h3qvrizvcypwl0j6jc7d7qim9sjjnm5")))) (build-system cmake-build-system) (native-inputs `(("gettext" ,gettext-minimal) From f4618b13d85b3f24dd66655b313ec85b3336beb5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 00:39:24 +0100 Subject: [PATCH 0362/1003] gnu: bindfs: Update to 1.15.1. * gnu/packages/file-systems.scm (bindfs): Update to 1.15.1. --- gnu/packages/file-systems.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 32f0db91d8..18d7aaffce 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -151,14 +151,14 @@ large and/or frequently changing (network) environment.") (define-public bindfs (package (name "bindfs") - (version "1.14.8") + (version "1.15.1") (source (origin (method url-fetch) (uri (string-append "https://bindfs.org/downloads/bindfs-" version ".tar.gz")) (sha256 (base32 - "15y4brlcrqhxl6z73785m0dr1vp2q3wc6xss08x9jjr0apzmmjp5")))) + "1av8dj9i1g0105fs5r9srqqsp7yahlhwc0yl8i1szyfdls23bp84")))) (build-system gnu-build-system) (arguments ;; XXX: The tests have no hope of passing until there is a "nogroup" From 4c144b27d85b0583877ab665a4be306374e1e382 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 00:45:00 +0100 Subject: [PATCH 0363/1003] gnu: sooperlooper: Update to 1.7.6. * gnu/packages/music.scm (sooperlooper): Update to 1.7.6. --- gnu/packages/music.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 4fb5049ac7..1e12bbe1a2 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3786,14 +3786,14 @@ with a number of bugfixes and changes to improve IT playback.") (define-public sooperlooper (package (name "sooperlooper") - (version "1.7.4") + (version "1.7.6") (source (origin (method url-fetch) (uri (string-append "http://essej.net/sooperlooper/sooperlooper-" version ".tar.gz")) (sha256 - (base32 "1jjvq4aflbyr3nr8b318k1vkad16xfa1jkqn9ckzw4419qc6c1k5")))) + (base32 "0kbb1pj62rl32c88j6p7dg823kvs0gb5s42qy3bl6yg0wn10dksj")))) (build-system gnu-build-system) (arguments `(#:phases From 24f0bb21ab338994187456eacb69d1162fdd1af5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 00:45:26 +0100 Subject: [PATCH 0364/1003] gnu: qca: Update to 2.3.2. * gnu/packages/kde.scm (qca): Update to 2.3.2. --- gnu/packages/kde.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 3e05b26ea9..213def42e3 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -616,15 +616,14 @@ used in KDE development tools Kompare and KDevelop.") (define-public qca (package (name "qca") - (version "2.3.1") + (version "2.3.2") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/qca/" version "/qca-" version ".tar.xz")) (sha256 - (base32 - "0jsfjwz84fc5jnl16aiwrcd6pgs5lzizm2896wildz5yk8852f61")))) + (base32 "0vb0kwm4vpf71vczadg6h1ib09sgca0crll7ksbkmg646w1615s6")))) (build-system cmake-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From c35f87bb1a300c6bde538eaa927a0f7311fb09a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Thu, 11 Mar 2021 01:10:29 +0100 Subject: [PATCH 0365/1003] gnu: evolution-data-server: Fix CVE-2020-14928 and CVE-2020-16117. * gnu/packages/patches/evolution-data-server-CVE-2020-14928.patch, gnu/packages/patches/evolution-data-server-CVE-2020-16117.patch: New patches. * gnu/local.mk (dist_patch_DATA): Register them. * gnu/packages/gnome.scm (evolution-data-server): Apply them. --- gnu/local.mk | 2 + gnu/packages/gnome.scm | 4 +- ...evolution-data-server-CVE-2020-14928.patch | 115 ++++++++++++++++++ ...evolution-data-server-CVE-2020-16117.patch | 28 +++++ 4 files changed, 148 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/evolution-data-server-CVE-2020-14928.patch create mode 100644 gnu/packages/patches/evolution-data-server-CVE-2020-16117.patch diff --git a/gnu/local.mk b/gnu/local.mk index 39037d3499..e24cee8ecf 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -973,6 +973,8 @@ dist_patch_DATA = \ %D%/packages/patches/erlang-man-path.patch \ %D%/packages/patches/eudev-rules-directory.patch \ %D%/packages/patches/evilwm-lost-focus-bug.patch \ + %D%/packages/patches/evolution-data-server-CVE-2020-14928.patch \ + %D%/packages/patches/evolution-data-server-CVE-2020-16117.patch \ %D%/packages/patches/evolution-data-server-locales.patch \ %D%/packages/patches/evolution-data-server-libical-compat.patch \ %D%/packages/patches/exercism-disable-self-update.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 5c6d247471..1db2de4751 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7479,7 +7479,9 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") (version-major+minor version) "/" name "-" version ".tar.xz")) (patches (search-patches "evolution-data-server-locales.patch" - "evolution-data-server-libical-compat.patch")) + "evolution-data-server-libical-compat.patch" + "evolution-data-server-CVE-2020-14928.patch" + "evolution-data-server-CVE-2020-16117.patch")) (sha256 (base32 "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y")))) diff --git a/gnu/packages/patches/evolution-data-server-CVE-2020-14928.patch b/gnu/packages/patches/evolution-data-server-CVE-2020-14928.patch new file mode 100644 index 0000000000..421f292c9d --- /dev/null +++ b/gnu/packages/patches/evolution-data-server-CVE-2020-14928.patch @@ -0,0 +1,115 @@ +From ba82be72cfd427b5d72ff21f929b3a6d8529c4df Mon Sep 17 00:00:00 2001 +From: Milan Crha +Date: Mon, 22 Jun 2020 13:40:17 +0200 +Subject: [PATCH] I#226 - CVE-2020-14928: Response Injection via STARTTLS in + SMTP and POP3 + +Closes https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/226 +--- + src/camel/camel-stream-buffer.c | 19 +++++++++++++++++++ + src/camel/camel-stream-buffer.h | 1 + + src/camel/providers/pop3/camel-pop3-store.c | 2 ++ + src/camel/providers/pop3/camel-pop3-stream.c | 11 +++++++++++ + src/camel/providers/pop3/camel-pop3-stream.h | 1 + + .../providers/smtp/camel-smtp-transport.c | 2 ++ + 6 files changed, 36 insertions(+) + +diff --git a/src/camel/camel-stream-buffer.c b/src/camel/camel-stream-buffer.c +index 3e2e0dd36..a6f605ae5 100644 +--- a/src/camel/camel-stream-buffer.c ++++ b/src/camel/camel-stream-buffer.c +@@ -518,3 +518,22 @@ camel_stream_buffer_read_line (CamelStreamBuffer *sbf, + + return g_strdup ((gchar *) sbf->priv->linebuf); + } ++ ++/** ++ * camel_stream_buffer_discard_cache: ++ * @sbf: a #CamelStreamBuffer ++ * ++ * Discards any cached data in the @sbf. The next read reads ++ * from the stream. ++ * ++ * Since: 3.38 ++ **/ ++void ++camel_stream_buffer_discard_cache (CamelStreamBuffer *sbf) ++{ ++ g_return_if_fail (CAMEL_IS_STREAM_BUFFER (sbf)); ++ ++ sbf->priv->ptr = sbf->priv->buf; ++ sbf->priv->end = sbf->priv->buf; ++ sbf->priv->ptr[0] = '\0'; ++} +diff --git a/src/camel/camel-stream-buffer.h b/src/camel/camel-stream-buffer.h +index ef92cfd8e..094e9926b 100644 +--- a/src/camel/camel-stream-buffer.h ++++ b/src/camel/camel-stream-buffer.h +@@ -93,6 +93,7 @@ gint camel_stream_buffer_gets (CamelStreamBuffer *sbf, + gchar * camel_stream_buffer_read_line (CamelStreamBuffer *sbf, + GCancellable *cancellable, + GError **error); ++void camel_stream_buffer_discard_cache (CamelStreamBuffer *sbf); + + G_END_DECLS + +diff --git a/src/camel/providers/pop3/camel-pop3-store.c b/src/camel/providers/pop3/camel-pop3-store.c +index 81c370f0a..5c9eb1eaa 100644 +--- a/src/camel/providers/pop3/camel-pop3-store.c ++++ b/src/camel/providers/pop3/camel-pop3-store.c +@@ -205,6 +205,8 @@ connect_to_server (CamelService *service, + + if (tls_stream != NULL) { + camel_stream_set_base_stream (stream, tls_stream); ++ /* Truncate any left cached input from the insecure part of the session */ ++ camel_pop3_stream_discard_cache (pop3_engine->stream); + g_object_unref (tls_stream); + } else { + g_prefix_error ( +diff --git a/src/camel/providers/pop3/camel-pop3-stream.c b/src/camel/providers/pop3/camel-pop3-stream.c +index 74bb11e61..c485b9bd6 100644 +--- a/src/camel/providers/pop3/camel-pop3-stream.c ++++ b/src/camel/providers/pop3/camel-pop3-stream.c +@@ -457,3 +457,14 @@ camel_pop3_stream_getd (CamelPOP3Stream *is, + + return 1; + } ++ ++void ++camel_pop3_stream_discard_cache (CamelPOP3Stream *is) ++{ ++ if (is) { ++ is->ptr = is->end = is->buf; ++ is->lineptr = is->linebuf; ++ is->lineend = is->linebuf + CAMEL_POP3_STREAM_LINE_SIZE; ++ is->ptr[0] = '\n'; ++ } ++} +diff --git a/src/camel/providers/pop3/camel-pop3-stream.h b/src/camel/providers/pop3/camel-pop3-stream.h +index bb6dbb903..128c8c45a 100644 +--- a/src/camel/providers/pop3/camel-pop3-stream.h ++++ b/src/camel/providers/pop3/camel-pop3-stream.h +@@ -87,6 +87,7 @@ gint camel_pop3_stream_getd (CamelPOP3Stream *is, + guint *len, + GCancellable *cancellable, + GError **error); ++void camel_pop3_stream_discard_cache (CamelPOP3Stream *is); + + G_END_DECLS + +diff --git a/src/camel/providers/smtp/camel-smtp-transport.c b/src/camel/providers/smtp/camel-smtp-transport.c +index 035baf367..1fc0f3206 100644 +--- a/src/camel/providers/smtp/camel-smtp-transport.c ++++ b/src/camel/providers/smtp/camel-smtp-transport.c +@@ -323,6 +323,8 @@ connect_to_server (CamelService *service, + + if (tls_stream != NULL) { + camel_stream_set_base_stream (stream, tls_stream); ++ /* Truncate any left cached input from the insecure part of the session */ ++ camel_stream_buffer_discard_cache (transport->istream); + g_object_unref (tls_stream); + } else { + g_prefix_error ( +-- +GitLab + diff --git a/gnu/packages/patches/evolution-data-server-CVE-2020-16117.patch b/gnu/packages/patches/evolution-data-server-CVE-2020-16117.patch new file mode 100644 index 0000000000..b2c0622a90 --- /dev/null +++ b/gnu/packages/patches/evolution-data-server-CVE-2020-16117.patch @@ -0,0 +1,28 @@ +From 2cc39592b532cf0dc994fd3694b8e6bf924c9ab5 Mon Sep 17 00:00:00 2001 +From: Milan Crha +Date: Mon, 10 Feb 2020 10:00:32 +0100 +Subject: [PATCH] I#189 - Crash on malformed server response with minimal + capabilities + +Closes https://gitlab.gnome.org/GNOME/evolution-data-server/issues/189 +--- + src/camel/providers/imapx/camel-imapx-server.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/camel/providers/imapx/camel-imapx-server.c b/src/camel/providers/imapx/camel-imapx-server.c +index 3c38fb1e9..3883321ec 100644 +--- a/src/camel/providers/imapx/camel-imapx-server.c ++++ b/src/camel/providers/imapx/camel-imapx-server.c +@@ -3045,7 +3045,8 @@ connected: + + /* See if we got new capabilities + * in the STARTTLS response. */ +- imapx_free_capability (is->priv->cinfo); ++ if (is->priv->cinfo) ++ imapx_free_capability (is->priv->cinfo); + is->priv->cinfo = NULL; + if (ic->status->condition == IMAPX_CAPABILITY) { + is->priv->cinfo = ic->status->u.cinfo; +-- +GitLab + From a2943e36c7c6309e955708552a72d532844576a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Thu, 11 Mar 2021 01:18:35 +0100 Subject: [PATCH 0366/1003] gnu: evolution: Fix CVE-2020-11879. * gnu/packages/patches/evolution-CVE-2020-11879.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/gnome.scm (evolution): Apply it. --- gnu/local.mk | 1 + gnu/packages/gnome.scm | 3 +- .../patches/evolution-CVE-2020-11879.patch | 122 ++++++++++++++++++ 3 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/evolution-CVE-2020-11879.patch diff --git a/gnu/local.mk b/gnu/local.mk index e24cee8ecf..9e20260ec3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -973,6 +973,7 @@ dist_patch_DATA = \ %D%/packages/patches/erlang-man-path.patch \ %D%/packages/patches/eudev-rules-directory.patch \ %D%/packages/patches/evilwm-lost-focus-bug.patch \ + %D%/packages/patches/evolution-CVE-2020-11879.patch \ %D%/packages/patches/evolution-data-server-CVE-2020-14928.patch \ %D%/packages/patches/evolution-data-server-CVE-2020-16117.patch \ %D%/packages/patches/evolution-data-server-locales.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 1db2de4751..5ee28eec03 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -10711,7 +10711,8 @@ generic enough to work for everyone.") "evolution-" version ".tar.xz")) (sha256 (base32 - "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c")))) + "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c")) + (patches (search-patches "evolution-CVE-2020-11879.patch")))) (build-system cmake-build-system) (arguments `(#:imported-modules (,@%cmake-build-system-modules diff --git a/gnu/packages/patches/evolution-CVE-2020-11879.patch b/gnu/packages/patches/evolution-CVE-2020-11879.patch new file mode 100644 index 0000000000..8c85895aab --- /dev/null +++ b/gnu/packages/patches/evolution-CVE-2020-11879.patch @@ -0,0 +1,122 @@ +From 6489f20d6905cc797e2b2581c415e558c457caa7 Mon Sep 17 00:00:00 2001 +From: Milan Crha +Date: Wed, 12 Feb 2020 18:59:52 +0100 +Subject: [PATCH] I#784 - Warn about and limit what can be attached using + mailto: URI + +Closes https://gitlab.gnome.org/GNOME/evolution/issues/784 +--- + src/composer/e-msg-composer.c | 58 +++++++++++++++++++++++++++++------ + src/e-util/e-system.error.xml | 7 ++++- + 2 files changed, 54 insertions(+), 11 deletions(-) + +diff --git a/src/composer/e-msg-composer.c b/src/composer/e-msg-composer.c +index e4c9ac095e..cd3168d882 100644 +--- a/src/composer/e-msg-composer.c ++++ b/src/composer/e-msg-composer.c +@@ -4761,7 +4761,8 @@ handle_mailto (EMsgComposer *composer, + gchar *header, *content, *buf; + gsize nread, nwritten; + const gchar *p; +- gint len, clen; ++ gint len, clen, has_attachments = 0; ++ gboolean has_blacklisted_attachment = FALSE; + + table = e_msg_composer_get_header_table (composer); + view = e_msg_composer_get_attachment_view (composer); +@@ -4844,22 +4845,36 @@ handle_mailto (EMsgComposer *composer, + } else if (!g_ascii_strcasecmp (header, "attach") || + !g_ascii_strcasecmp (header, "attachment")) { + EAttachment *attachment; ++ GFile *file; + + camel_url_decode (content); +- if (file_is_blacklisted (content)) +- e_alert_submit ( +- E_ALERT_SINK (e_msg_composer_get_editor (composer)), +- "mail:blacklisted-file", +- content, NULL); + if (g_ascii_strncasecmp (content, "file:", 5) == 0) + attachment = e_attachment_new_for_uri (content); + else + attachment = e_attachment_new_for_path (content); +- e_attachment_store_add_attachment (store, attachment); +- e_attachment_load_async ( +- attachment, (GAsyncReadyCallback) +- e_attachment_load_handle_error, composer); ++ file = e_attachment_ref_file (attachment); ++ if (!file || !g_file_peek_path (file) || ++ !g_file_test (g_file_peek_path (file), G_FILE_TEST_EXISTS) || ++ g_file_test (g_file_peek_path (file), G_FILE_TEST_IS_DIR)) { ++ /* Do nothing, simply ignore the attachment request */ ++ } else { ++ has_attachments++; ++ ++ if (file_is_blacklisted (content)) { ++ has_blacklisted_attachment = TRUE; ++ e_alert_submit ( ++ E_ALERT_SINK (e_msg_composer_get_editor (composer)), ++ "mail:blacklisted-file", ++ content, NULL); ++ } ++ ++ e_attachment_store_add_attachment (store, attachment); ++ e_attachment_load_async ( ++ attachment, (GAsyncReadyCallback) ++ e_attachment_load_handle_error, composer); ++ } + g_object_unref (attachment); ++ g_clear_object (&file); + } else if (!g_ascii_strcasecmp (header, "from")) { + /* Ignore */ + } else if (!g_ascii_strcasecmp (header, "reply-to")) { +@@ -4883,6 +4898,29 @@ handle_mailto (EMsgComposer *composer, + + g_free (buf); + ++ if (has_attachments && !has_blacklisted_attachment) { ++ const gchar *primary; ++ gchar *secondary; ++ ++ primary = g_dngettext (GETTEXT_PACKAGE, ++ "Review attachment before sending.", ++ "Review attachments before sending.", ++ has_attachments); ++ ++ secondary = g_strdup_printf (g_dngettext (GETTEXT_PACKAGE, ++ "There had been added %d attachment. Make sure it does not contain any sensitive information before sending the message.", ++ "There had been added %d attachments. Make sure they do not contain any sensitive information before sending the message.", ++ has_attachments), ++ has_attachments); ++ ++ e_alert_submit ( ++ E_ALERT_SINK (e_msg_composer_get_editor (composer)), ++ "system:generic-warning", ++ primary, secondary, NULL); ++ ++ g_free (secondary); ++ } ++ + merge_always_cc_and_bcc (table, to, &cc, &bcc); + + tov = destination_list_to_vector (to); +diff --git a/src/e-util/e-system.error.xml b/src/e-util/e-system.error.xml +index ddcf989fda..02facb7d26 100644 +--- a/src/e-util/e-system.error.xml ++++ b/src/e-util/e-system.error.xml +@@ -1,6 +1,11 @@ + + +- ++ ++ {0} ++ {1} ++ ++ ++ + {0} + {1} + +-- +GitLab + From e940f6d80193dd70ecd28b93e8d85042aa33a7c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Thu, 11 Mar 2021 02:02:24 +0100 Subject: [PATCH 0367/1003] gnu: libcroco: Fix CVE-2020-12825. * gnu/packages/patches/libcroco-CVE-2020-12825.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/gnome.scm (libcroco/fixed): New variable. Apply patch. (libcroco)[replacement]: Graft. --- gnu/local.mk | 1 + gnu/packages/gnome.scm | 16 ++ .../patches/libcroco-CVE-2020-12825.patch | 187 ++++++++++++++++++ 3 files changed, 204 insertions(+) create mode 100644 gnu/packages/patches/libcroco-CVE-2020-12825.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9e20260ec3..eae602a01e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1275,6 +1275,7 @@ dist_patch_DATA = \ %D%/packages/patches/libcaca-CVE-2021-3410-pt2.patch \ %D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \ %D%/packages/patches/libcanberra-wayland-crash.patch \ + %D%/packages/patches/libcroco-CVE-2020-12825.patch \ %D%/packages/patches/libcyaml-libyaml-compat.patch \ %D%/packages/patches/libexpected-nofetch.patch \ %D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 5ee28eec03..a0796b0115 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3227,6 +3227,7 @@ the GNOME desktop environment.") (sha256 (base32 "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn")))) + (replacement libcroco/fixed) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -3245,6 +3246,21 @@ XML/CSS rendering engine.") ;; LGPLv2.1-only. (license license:lgpl2.1))) +(define-public libcroco/fixed + (package + (inherit libcroco) + (name "libcroco") + (version "0.6.13") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1m110rbj5d2raxcdp4iz0qp172284945awrsbdlq99ksmqsc4zkn")) + (patches (search-patches "libcroco-CVE-2020-12825.patch")))))) + (define-public libgsf (package (name "libgsf") diff --git a/gnu/packages/patches/libcroco-CVE-2020-12825.patch b/gnu/packages/patches/libcroco-CVE-2020-12825.patch new file mode 100644 index 0000000000..35005a6a19 --- /dev/null +++ b/gnu/packages/patches/libcroco-CVE-2020-12825.patch @@ -0,0 +1,187 @@ +From 7b64eb285dd937b34df71c95188301be50dd1409 Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Wed, 12 Aug 2020 13:54:15 -0500 +Subject: [PATCH] libcroco: Limit recursion in block and any productions + (CVE-2020-12825) + +If we don't have any limits, we can recurse forever and overflow the +stack. + +This is per https://gitlab.gnome.org/Archive/libcroco/-/issues/8 + +https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1404 +--- + src/st/croco/cr-parser.c | 44 ++++++++++++++++++++++++++-------------- + 1 file changed, 29 insertions(+), 15 deletions(-) + +diff --git a/src/st/croco/cr-parser.c b/src/st/croco/cr-parser.c +index 07f4ed9e8b..8304b75614 100644 +--- a/src/cr-parser.c ++++ b/src/cr-parser.c +@@ -136,6 +136,8 @@ struct _CRParserPriv { + + #define CHARS_TAB_SIZE 12 + ++#define RECURSIVE_CALLERS_LIMIT 100 ++ + /** + * IS_NUM: + *@a_char: the char to test. +@@ -343,9 +345,11 @@ static enum CRStatus cr_parser_parse_selector_core (CRParser * a_this); + + static enum CRStatus cr_parser_parse_declaration_core (CRParser * a_this); + +-static enum CRStatus cr_parser_parse_any_core (CRParser * a_this); ++static enum CRStatus cr_parser_parse_any_core (CRParser * a_this, ++ guint n_calls); + +-static enum CRStatus cr_parser_parse_block_core (CRParser * a_this); ++static enum CRStatus cr_parser_parse_block_core (CRParser * a_this, ++ guint n_calls); + + static enum CRStatus cr_parser_parse_value_core (CRParser * a_this); + +@@ -783,7 +787,7 @@ cr_parser_parse_atrule_core (CRParser * a_this) + cr_parser_try_to_skip_spaces_and_comments (a_this); + + do { +- status = cr_parser_parse_any_core (a_this); ++ status = cr_parser_parse_any_core (a_this, 0); + } while (status == CR_OK); + + status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, +@@ -794,7 +798,7 @@ cr_parser_parse_atrule_core (CRParser * a_this) + cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, + token); + token = NULL; +- status = cr_parser_parse_block_core (a_this); ++ status = cr_parser_parse_block_core (a_this, 0); + CHECK_PARSING_STATUS (status, + FALSE); + goto done; +@@ -929,11 +933,11 @@ cr_parser_parse_selector_core (CRParser * a_this) + + RECORD_INITIAL_POS (a_this, &init_pos); + +- status = cr_parser_parse_any_core (a_this); ++ status = cr_parser_parse_any_core (a_this, 0); + CHECK_PARSING_STATUS (status, FALSE); + + do { +- status = cr_parser_parse_any_core (a_this); ++ status = cr_parser_parse_any_core (a_this, 0); + + } while (status == CR_OK); + +@@ -955,10 +959,12 @@ cr_parser_parse_selector_core (CRParser * a_this) + *in chapter 4.1 of the css2 spec. + *block ::= '{' S* [ any | block | ATKEYWORD S* | ';' ]* '}' S*; + *@param a_this the current instance of #CRParser. ++ *@param n_calls used to limit recursion depth + *FIXME: code this function. + */ + static enum CRStatus +-cr_parser_parse_block_core (CRParser * a_this) ++cr_parser_parse_block_core (CRParser * a_this, ++ guint n_calls) + { + CRToken *token = NULL; + CRInputPos init_pos; +@@ -966,6 +972,9 @@ cr_parser_parse_block_core (CRParser * a_this) + + g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR); + ++ if (n_calls > RECURSIVE_CALLERS_LIMIT) ++ return CR_ERROR; ++ + RECORD_INITIAL_POS (a_this, &init_pos); + + status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token); +@@ -995,13 +1004,13 @@ cr_parser_parse_block_core (CRParser * a_this) + } else if (token->type == CBO_TK) { + cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token); + token = NULL; +- status = cr_parser_parse_block_core (a_this); ++ status = cr_parser_parse_block_core (a_this, n_calls + 1); + CHECK_PARSING_STATUS (status, FALSE); + goto parse_block_content; + } else { + cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token); + token = NULL; +- status = cr_parser_parse_any_core (a_this); ++ status = cr_parser_parse_any_core (a_this, n_calls + 1); + CHECK_PARSING_STATUS (status, FALSE); + goto parse_block_content; + } +@@ -1108,7 +1117,7 @@ cr_parser_parse_value_core (CRParser * a_this) + status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, + token); + token = NULL; +- status = cr_parser_parse_block_core (a_this); ++ status = cr_parser_parse_block_core (a_this, 0); + CHECK_PARSING_STATUS (status, FALSE); + ref++; + goto continue_parsing; +@@ -1122,7 +1131,7 @@ cr_parser_parse_value_core (CRParser * a_this) + status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, + token); + token = NULL; +- status = cr_parser_parse_any_core (a_this); ++ status = cr_parser_parse_any_core (a_this, 0); + if (status == CR_OK) { + ref++; + goto continue_parsing; +@@ -1161,10 +1170,12 @@ cr_parser_parse_value_core (CRParser * a_this) + * | FUNCTION | DASHMATCH | '(' any* ')' | '[' any* ']' ] S*; + * + *@param a_this the current instance of #CRParser. ++ *@param n_calls used to limit recursion depth + *@return CR_OK upon successfull completion, an error code otherwise. + */ + static enum CRStatus +-cr_parser_parse_any_core (CRParser * a_this) ++cr_parser_parse_any_core (CRParser * a_this, ++ guint n_calls) + { + CRToken *token1 = NULL, + *token2 = NULL; +@@ -1173,6 +1184,9 @@ cr_parser_parse_any_core (CRParser * a_this) + + g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR); + ++ if (n_calls > RECURSIVE_CALLERS_LIMIT) ++ return CR_ERROR; ++ + RECORD_INITIAL_POS (a_this, &init_pos); + + status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token1); +@@ -1211,7 +1225,7 @@ cr_parser_parse_any_core (CRParser * a_this) + *We consider parameter as being an "any*" production. + */ + do { +- status = cr_parser_parse_any_core (a_this); ++ status = cr_parser_parse_any_core (a_this, n_calls + 1); + } while (status == CR_OK); + + ENSURE_PARSING_COND (status == CR_PARSING_ERROR); +@@ -1236,7 +1250,7 @@ cr_parser_parse_any_core (CRParser * a_this) + } + + do { +- status = cr_parser_parse_any_core (a_this); ++ status = cr_parser_parse_any_core (a_this, n_calls + 1); + } while (status == CR_OK); + + ENSURE_PARSING_COND (status == CR_PARSING_ERROR); +@@ -1264,7 +1278,7 @@ cr_parser_parse_any_core (CRParser * a_this) + } + + do { +- status = cr_parser_parse_any_core (a_this); ++ status = cr_parser_parse_any_core (a_this, n_calls + 1); + } while (status == CR_OK); + + ENSURE_PARSING_COND (status == CR_PARSING_ERROR); +-- +GitLab + From be31314638e2f42c706b4865274ffbb86d6aca87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Thu, 11 Mar 2021 02:19:53 +0100 Subject: [PATCH 0368/1003] gnu: gthumb: Update to 3.10.2 [security fixes]. Non-exhaustively, fixes CVE-2019-20326. * gnu/packages/gnome.scm (gthumb): Update to 3.10.2. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index a0796b0115..50edf9ebd9 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -10791,7 +10791,7 @@ functionality.") (define-public gthumb (package (name "gthumb") - (version "3.8.2") + (version "3.10.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gthumb/" @@ -10799,7 +10799,7 @@ functionality.") "gthumb-" version ".tar.xz")) (sha256 (base32 - "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q")))) + "14sw8d37g1lkp44dwsgyxjjsgh5pnpp4wq00mcy9p3rp30lf9spx")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t From 1acfda2f949fe61631c7602c865964453ece85e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Thu, 11 Mar 2021 02:32:19 +0100 Subject: [PATCH 0369/1003] gnu: geary: Fix CVE-2020-24661. * gnu/packages/patches/geary-CVE-2020-24661.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/gnome.scm (geary): Apply it. --- gnu/local.mk | 1 + gnu/packages/gnome.scm | 3 +- .../patches/geary-CVE-2020-24661.patch | 133 ++++++++++++++++++ 3 files changed, 136 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/geary-CVE-2020-24661.patch diff --git a/gnu/local.mk b/gnu/local.mk index eae602a01e..a68981e48d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1057,6 +1057,7 @@ dist_patch_DATA = \ %D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-brect-bounds.patch \ %D%/packages/patches/gdm-default-session.patch \ + %D%/packages/patches/geary-CVE-2020-24661.patch \ %D%/packages/patches/genimage-signedness.patch \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 50edf9ebd9..d58aa9956b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -11339,7 +11339,8 @@ these services on the Guix System.") (file-name (git-file-name name version)) (sha256 (base32 - "01cc921kyh3zxz07biqbdzkjgmdcc36kwjyajm4y382a75cl5zg7")))) + "01cc921kyh3zxz07biqbdzkjgmdcc36kwjyajm4y382a75cl5zg7")) + (patches (search-patches "geary-CVE-2020-24661.patch")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t diff --git a/gnu/packages/patches/geary-CVE-2020-24661.patch b/gnu/packages/patches/geary-CVE-2020-24661.patch new file mode 100644 index 0000000000..6cbc224786 --- /dev/null +++ b/gnu/packages/patches/geary-CVE-2020-24661.patch @@ -0,0 +1,133 @@ +From d4e86dc91e1d8a940dc40872fe94ef9ac0fed1b5 Mon Sep 17 00:00:00 2001 +From: Michael Gratton +Date: Tue, 25 Aug 2020 03:54:09 +0000 +Subject: [PATCH] Merge branch 'mjog/866-self-signed-certificates' into + 'mainline' + +Fix invalid certificate pinning when GCR support is unavailable + +Closes #866 + +See merge request GNOME/geary!529 + +(cherry picked from commit 423a55b00f1dc6bee9dc17e67c0aea6f42387a77) + +5088adfe Application.CertificateManager: Rename some methods for clarity +0d957559 Application.CertificateManager: Check locally pinned certs for equality +--- + .../application-certificate-manager.vala | 44 +++++++++---------- + 1 file changed, 22 insertions(+), 22 deletions(-) + +diff --git a/src/client/application/application-certificate-manager.vala b/src/client/application/application-certificate-manager.vala +index 4881d73c0..65f6af4fa 100644 +--- a/src/client/application/application-certificate-manager.vala ++++ b/src/client/application/application-certificate-manager.vala +@@ -381,8 +381,8 @@ private class Application.TlsDatabase : GLib.TlsDatabase { + GLib.TlsCertificateFlags ret = this.parent.verify_chain( + chain, purpose, identity, interaction, flags, cancellable + ); +- if (should_verify(ret, purpose, identity) && +- verify(chain, identity, cancellable)) { ++ if (check_pinned(ret, purpose, identity) && ++ is_pinned(chain, identity, cancellable)) { + ret = 0; + } + return ret; +@@ -399,16 +399,16 @@ private class Application.TlsDatabase : GLib.TlsDatabase { + GLib.TlsCertificateFlags ret = yield this.parent.verify_chain_async( + chain, purpose, identity, interaction, flags, cancellable + ); +- if (should_verify(ret, purpose, identity) && +- yield verify_async(chain, identity, cancellable)) { ++ if (check_pinned(ret, purpose, identity) && ++ yield is_pinned_async(chain, identity, cancellable)) { + ret = 0; + } + return ret; + } + +- private inline bool should_verify(GLib.TlsCertificateFlags parent_ret, +- string purpose, +- GLib.SocketConnectable? identity) { ++ private inline bool check_pinned(GLib.TlsCertificateFlags parent_ret, ++ string purpose, ++ GLib.SocketConnectable? identity) { + // If the parent didn't verify, check for a locally pinned + // cert if it looks like we should, but always reject revoked + // certs +@@ -420,22 +420,22 @@ private class Application.TlsDatabase : GLib.TlsDatabase { + ); + } + +- private bool verify(GLib.TlsCertificate chain, +- GLib.SocketConnectable identity, +- GLib.Cancellable? cancellable) ++ private bool is_pinned(GLib.TlsCertificate chain, ++ GLib.SocketConnectable identity, ++ GLib.Cancellable? cancellable) + throws GLib.Error { +- bool is_verified = false; ++ bool is_pinned = false; + string id = to_name(identity); + TrustContext? context = null; + lock (this.pinned_certs) { + context = this.pinned_certs.get(id); + if (context != null) { +- is_verified = true; ++ is_pinned = context.certificate.is_same(chain); + } else { + // Cert not found in memory, check with GCR if + // enabled. + if (this.use_gcr) { +- is_verified = gcr_trust_is_certificate_pinned( ++ is_pinned = gcr_trust_is_certificate_pinned( + new Gcr.SimpleCertificate(chain.certificate.data), + GLib.TlsDatabase.PURPOSE_AUTHENTICATE_SERVER, + id, +@@ -443,7 +443,7 @@ private class Application.TlsDatabase : GLib.TlsDatabase { + ); + } + +- if (!is_verified) { ++ if (!is_pinned) { + // Cert is not pinned in memory or in GCR, so look + // for it on disk. Do this even if GCR support is + // enabled, since if the cert was previously saved +@@ -453,7 +453,7 @@ private class Application.TlsDatabase : GLib.TlsDatabase { + this.store_dir, id, cancellable + ); + this.pinned_certs.set(id, context); +- is_verified = true; ++ is_pinned = context.certificate.is_same(chain); + } catch (GLib.IOError.NOT_FOUND err) { + // Cert was not found saved, so it not pinned + } catch (GLib.Error err) { +@@ -465,18 +465,18 @@ private class Application.TlsDatabase : GLib.TlsDatabase { + } + } + } +- return is_verified; ++ return is_pinned; + } + +- private async bool verify_async(GLib.TlsCertificate chain, +- GLib.SocketConnectable identity, +- GLib.Cancellable? cancellable) ++ private async bool is_pinned_async(GLib.TlsCertificate chain, ++ GLib.SocketConnectable identity, ++ GLib.Cancellable? cancellable) + throws GLib.Error { +- bool is_valid = false; ++ bool pinned = false; + yield Geary.Nonblocking.Concurrent.global.schedule_async(() => { +- is_valid = verify(chain, identity, cancellable); ++ pinned = is_pinned(chain, identity, cancellable); + }, cancellable); +- return is_valid; ++ return pinned; + } + + private TrustContext? lookup_id(string id) { +-- +GitLab + From 2bcfb944bdd2f476ef8d34802fed436e4fdda0ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Thu, 11 Mar 2021 02:58:28 +0100 Subject: [PATCH 0370/1003] gnu: zstd-1.4.9: Fix i686-linux and arm/aarch64-linux builds. It's only a graft added for security so disabling tests on there seems acceptable. See: . * gnu/packages/compression.scm (zstd-1.4.9)[arguments]: Substitute keyword arguments of 'zstd' to disable tests. --- gnu/packages/compression.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 571088dcbc..8e2a3a78f1 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1513,7 +1513,10 @@ speed.") (uri (string-append "https://github.com/facebook/zstd/releases/download/" "v" version "/zstd-" version ".tar.gz")) (sha256 - (base32 "14yj7309gsvg39rki4xqnd6w5idmqi0655v1fc0mk1m2kvhp9b19")))))) + (base32 "14yj7309gsvg39rki4xqnd6w5idmqi0655v1fc0mk1m2kvhp9b19")))) + (arguments + (substitute-keyword-arguments (package-arguments zstd) + ((#:tests? _ #t) #f))))) (define-public pzstd (package From 46a7f828820c03c9c74f12f4fbd3cfe2777f3b84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Thu, 11 Mar 2021 04:00:50 +0100 Subject: [PATCH 0371/1003] gnu: gnome-autoar: Update to 0.3.0 [fixes CVE-2020-36241]. * gnu/packages/gnome.scm (gnome-autoar): Update to 0.3.0. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index d58aa9956b..5a8b6b30e8 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8647,7 +8647,7 @@ core C library, and bindings for Python (PyGTK).") (define-public gnome-autoar (package (name "gnome-autoar") - (version "0.2.4") + (version "0.3.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -8655,7 +8655,7 @@ core C library, and bindings for Python (PyGTK).") name "-" version ".tar.xz")) (sha256 (base32 - "0yk56ch46n3wfy633mq31kif9n7v06rlij4vqbsbn6l4z1vw6d0a")))) + "0ssqckfkyldwld88zizy446y2359rg40lnrcm3sjpjhc2b015hgj")))) (build-system glib-or-gtk-build-system) (native-inputs `(("gobject-introspection" ,gobject-introspection) From 9d74b66de78686e5affaf6d7882becd003d3c49a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Thu, 11 Mar 2021 04:36:22 +0100 Subject: [PATCH 0372/1003] gnu: docker-cli: Fix source hash. This is a follow-up to commit 83cda00bc62d665f05d37d07c78a1c4eab5297f0. * gnu/packages/docker.scm (docker-cli): Fix source hash caused by cascading %docker-version variable changes. --- gnu/packages/docker.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index 28bf2aff2b..5c6292c122 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -611,7 +611,7 @@ provisioning etc.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0wm5x8b8jll78h2zzncfdpxj0y3gv571z0nd39f036wsy7r23dsi")))) + (base32 "1asapjj8brvbkd5irgdq82fx1ihrc14qaq30jxvjwflfm5yb7lv0")))) (build-system go-build-system) (arguments `(#:import-path "github.com/docker/cli" From 826428ab5bd347954ee6be70a6a6596000f8583e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Thu, 11 Mar 2021 05:25:43 +0100 Subject: [PATCH 0373/1003] gnu: libx11: Update to 1.6.12 [fixes CVE-2020-14363]. * gnu/packages/xorg.scm (libx11/fixed): New variable. (libx11)[replacement]: Graft. --- gnu/packages/xorg.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 92ae6a824b..3f16f2c8b1 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5468,6 +5468,7 @@ draggable titlebars and borders.") (sha256 (base32 "09k2pqmqbn2m1bpgl7jfxyqxaaxsnzbnp2bp8ycmqldqi5ln4j5g")))) + (replacement libx11/fixed) (build-system gnu-build-system) (outputs '("out" "doc")) ;8 MiB of man pages + XML @@ -5495,6 +5496,21 @@ draggable titlebars and borders.") (description "Xorg Core X11 protocol client library.") (license license:x11))) +(define-public libx11/fixed + (package + (inherit libx11) + (version "1.6.12") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/lib/libX11-" + version + ".tar.bz2")) + (sha256 + (base32 + "1ivfzl1qwk8zh7gc0m5vb58gdxz11jwg7w3d356w16j1d5s2427i")))))) + ;; packages of height 5 in the propagated-inputs tree (define-public libxcursor From ee8e4ba7aa39289746fe7ffb129d448e6cca78b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Thu, 11 Mar 2021 05:31:54 +0100 Subject: [PATCH 0374/1003] gnu: openvpn: Update to 2.5.1 [security fixes]. Non-exhaustively, fixes CVE-2020-7224. * gnu/packages/vpn.scm (openvpn): Update to 2.5.1. --- gnu/packages/vpn.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 76af7582fc..f18dc6760c 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -388,7 +388,7 @@ this process. It is compatible with Fortinet VPNs.") (define-public openvpn (package (name "openvpn") - (version "2.4.10") + (version "2.5.1") (source (origin (method url-fetch) (uri (string-append @@ -396,7 +396,7 @@ this process. It is compatible with Fortinet VPNs.") version ".tar.xz")) (sha256 (base32 - "0xx378ja2rdfaayc257z0z5ddsp8h0jcpqnd1a6bdw3rlsam6a6g")))) + "157ikzap2bbkzx34hkh33bpk2i14xjx1x3pkadhmzh1pr24h94s0")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-iproute2=yes"))) From 4a8b529ce15ddc69a9dd701e450fc85a0ed65910 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Thu, 11 Mar 2021 05:38:57 +0100 Subject: [PATCH 0375/1003] gnu: openssl: Update to 1.1.1j [security fixes]. * gnu/packages/tls.scm (openssl/fixed): New variable. (openssl)[replacement]: Graft. --- gnu/packages/tls.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index c6228f7fd2..acabca5df3 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -301,6 +301,7 @@ required structures.") (sha256 (base32 "0hjj1phcwkz69lx1lrvr9grhpl4y529mwqycqc1hdla1zqsnmgp8")))) + (replacement openssl/fixed) (build-system gnu-build-system) (outputs '("out" "doc" ;6.8 MiB of man3 pages and full HTML documentation @@ -419,6 +420,24 @@ required structures.") (license license:openssl) (home-page "https://www.openssl.org/"))) +(define-public openssl/fixed + (package + (inherit openssl) + (version "1.1.1j") + (source (origin + (method url-fetch) + (uri (list (string-append "https://www.openssl.org/source/openssl-" + version ".tar.gz") + (string-append "ftp://ftp.openssl.org/source/" + "openssl-" version ".tar.gz") + (string-append "ftp://ftp.openssl.org/source/old/" + (string-trim-right version char-set:letter) + "/openssl-" version ".tar.gz"))) + (patches (search-patches "openssl-1.1-c-rehash-in.patch")) + (sha256 + (base32 + "1gw17520vh13izy1xf5q0a2fqgcayymjjj5bk0dlkxndfnszrwma")))))) + (define-public openssl-1.0 (package (inherit openssl) From fd2751f89f04669227bbd71243bb100e3742a3fd Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Wed, 10 Mar 2021 09:12:02 +0000 Subject: [PATCH 0376/1003] gnu: emacs-password-store: 2.1.4-1.918992c [security fix]. Includes a fix to no longer store clear passwords in a temporary file, see commit 7aa17d099577730d2d65332896b74d5865b22abf for details. * gnu/packages/emacs-xyz.scm (emacs-password-store): Update to 2.1.4-1.918992c. [propagated-inputs]: Remove emacs-f, add emacs-auth-source-pass. --- gnu/packages/emacs-xyz.scm | 70 +++++++++++++++++++++----------------- 1 file changed, 38 insertions(+), 32 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index b5785505a5..de3ef6d648 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -15041,39 +15041,45 @@ close, copy, cut, paste, undo, redo.") (license license:gpl3+)))) (define-public emacs-password-store - (package - (name "emacs-password-store") - (version "1.7.3") - (source (origin - (method url-fetch) - (uri - (string-append "https://git.zx2c4.com/password-store/snapshot/" - "password-store-" version ".tar.xz")) - (sha256 - (base32 - "1x53k5dn3cdmvy8m4fqdld4hji5n676ksl0ql4armkmsds26av1b")))) - (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'extract-el-file - (lambda _ - (copy-file "contrib/emacs/password-store.el" "password-store.el") - (delete-file-recursively "contrib") - (delete-file-recursively "man") - (delete-file-recursively "src") - (delete-file-recursively "tests")))))) - (propagated-inputs - `(("emacs-f" ,emacs-f) - ("emacs-s" ,emacs-s) - ("emacs-with-editor" ,emacs-with-editor) - ("password-store" ,password-store))) - (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs") - (synopsis "Password store (pass) support for Emacs") - (description - "This package provides functions for working with pass (\"the + (let ((commit "918992c19231b33b3d4a3288a7288a620e608cb4") + (revision "1")) + (package + (name "emacs-password-store") + ;; The emacs package version does not match the password-store version, + ;; even though it is part of the same repository. When updating, look + ;; at the version declared in password-store.el. + (version (git-version "2.1.4" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "git://git.zx2c4.com/password-store") + (commit commit))) + (sha256 + (base32 + "0ni62f4pq96g0i0q66bch1dl9k4zqwhg7xaf746k3gbbqxcdh3vi")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'extract-el-file + (lambda _ + (copy-file "contrib/emacs/password-store.el" "password-store.el") + (delete-file-recursively "contrib") + (delete-file-recursively "man") + (delete-file-recursively "src") + (delete-file-recursively "tests")))))) + (propagated-inputs + `(("emacs-auth-source-pass" ,emacs-auth-source-pass) + ("emacs-s" ,emacs-s) + ("emacs-with-editor" ,emacs-with-editor) + ("password-store" ,password-store))) + (home-page "https://git.zx2c4.com/password-store/tree/contrib/emacs") + (synopsis "Password store (pass) support for Emacs") + (description + "This package provides functions for working with pass (\"the standard Unix password manager\").") - (license license:gpl2+))) + (license license:gpl2+)))) (define-public emacs-auth-source-pass (let ((commit "847a1f54ed48856b4dfaaa184583ef2c84173edf") From 500189b4d2f1e3a2d4ee8ab73d889e3d8ac70632 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Thu, 11 Mar 2021 10:53:00 +0100 Subject: [PATCH 0377/1003] gnu: go: Update to 1.14.15 [security fixes]. This update will cause more than 300 packages to be rebuilt but due to how Go works we can't graft to fix the issue since we actually need to rebuild dependents so they include a newer version of the Go standard library. Considering the CVEs that this fixes are in great part in the Go standard library we can only proceed and push directly to master. * gnu/packages/golang.scm (go): Update to 1.14.15. [arguments]: Remove more cgo-related failing tests. --- gnu/packages/golang.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index dd50da1c8e..849227d693 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -235,7 +235,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") (package (inherit go-1.4) (name "go") - (version "1.14.10") + (version "1.14.15") (source (origin (method git-fetch) @@ -245,7 +245,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") (file-name (git-file-name name version)) (sha256 (base32 - "0h1nmqzjc0xxpn6n2hjq7692gdqkznagzdmiq9490yzkrrii2lgk")))) + "1crh90qkvhlx23hwsi4wxy3l3h8973lr18135y6h1nnzzwr3n3ps")))) (arguments (substitute-keyword-arguments (package-arguments go-1.4) ((#:system system) @@ -285,7 +285,10 @@ in the style of communicating sequential processes (@dfn{CSP}).") "cmd/go/testdata/script/cover_cgo.txt" "cmd/go/testdata/script/cover_cgo_xtest.txt" "cmd/go/testdata/script/cover_cgo_extra_test.txt" - "cmd/go/testdata/script/cover_cgo_extra_file.txt")) + "cmd/go/testdata/script/cover_cgo_extra_file.txt" + "cmd/go/testdata/script/cgo_path_space.txt" + "cmd/go/testdata/script/ldflag.txt" + "cmd/go/testdata/script/cgo_path.txt")) (for-each make-file-writable (find-files ".")) From 21b3b755151028647081fe96d2992b3743531d71 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 11 Mar 2021 05:34:28 -0500 Subject: [PATCH 0378/1003] gnu: glib: Fix CVE-2021-27218 and CVE-2021-27219. * gnu/packages/patches/glib-CVE-2021-27218.patch, gnu/packages/patches/glib-CVE-2021-27219-01.patch, gnu/packages/patches/glib-CVE-2021-27219-02.patch, gnu/packages/patches/glib-CVE-2021-27219-03.patch, gnu/packages/patches/glib-CVE-2021-27219-04.patch, gnu/packages/patches/glib-CVE-2021-27219-05.patch, gnu/packages/patches/glib-CVE-2021-27219-06.patch, gnu/packages/patches/glib-CVE-2021-27219-07.patch, gnu/packages/patches/glib-CVE-2021-27219-08.patch, gnu/packages/patches/glib-CVE-2021-27219-09.patch, gnu/packages/patches/glib-CVE-2021-27219-10.patch, gnu/packages/patches/glib-CVE-2021-27219-11.patch, gnu/packages/patches/glib-CVE-2021-27219-12.patch, gnu/packages/patches/glib-CVE-2021-27219-13.patch, gnu/packages/patches/glib-CVE-2021-27219-14.patch, gnu/packages/patches/glib-CVE-2021-27219-15.patch, gnu/packages/patches/glib-CVE-2021-27219-16.patch, gnu/packages/patches/glib-CVE-2021-27219-17.patch, gnu/packages/patches/glib-CVE-2021-27219-18.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/glib.scm (glib)[replacement]: New field. (glib/fixed): New variable. --- gnu/local.mk | 21 +- gnu/packages/glib.scm | 30 +- .../patches/glib-CVE-2021-27218.patch | 132 ++++++++ .../patches/glib-CVE-2021-27219-01.patch | 176 ++++++++++ .../patches/glib-CVE-2021-27219-02.patch | 264 +++++++++++++++ .../patches/glib-CVE-2021-27219-03.patch | 136 ++++++++ .../patches/glib-CVE-2021-27219-04.patch | 308 ++++++++++++++++++ .../patches/glib-CVE-2021-27219-05.patch | 47 +++ .../patches/glib-CVE-2021-27219-06.patch | 94 ++++++ .../patches/glib-CVE-2021-27219-07.patch | 118 +++++++ .../patches/glib-CVE-2021-27219-08.patch | 94 ++++++ .../patches/glib-CVE-2021-27219-09.patch | 98 ++++++ .../patches/glib-CVE-2021-27219-10.patch | 52 +++ .../patches/glib-CVE-2021-27219-11.patch | 57 ++++ .../patches/glib-CVE-2021-27219-12.patch | 30 ++ .../patches/glib-CVE-2021-27219-13.patch | 32 ++ .../patches/glib-CVE-2021-27219-14.patch | 32 ++ .../patches/glib-CVE-2021-27219-15.patch | 95 ++++++ .../patches/glib-CVE-2021-27219-16.patch | 43 +++ .../patches/glib-CVE-2021-27219-17.patch | 37 +++ .../patches/glib-CVE-2021-27219-18.patch | 232 +++++++++++++ 21 files changed, 2126 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/glib-CVE-2021-27218.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-01.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-02.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-03.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-04.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-05.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-06.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-07.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-08.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-09.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-10.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-11.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-12.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-13.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-14.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-15.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-16.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-17.patch create mode 100644 gnu/packages/patches/glib-CVE-2021-27219-18.patch diff --git a/gnu/local.mk b/gnu/local.mk index a68981e48d..c2637926ee 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2,7 +2,7 @@ # Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès # Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Andreas Enge # Copyright © 2016 Mathieu Lirzin -# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver +# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Mark H Weaver # Copyright © 2016 Chris Marusich # Copyright © 2016, 2017, 2018 Kei Kebreau # Copyright © 2016, 2017 Rene Saavedra @@ -1076,6 +1076,25 @@ dist_patch_DATA = \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \ %D%/packages/patches/glib-appinfo-watch.patch \ %D%/packages/patches/glib-tests-timer.patch \ + %D%/packages/patches/glib-CVE-2021-27218.patch \ + %D%/packages/patches/glib-CVE-2021-27219-01.patch \ + %D%/packages/patches/glib-CVE-2021-27219-02.patch \ + %D%/packages/patches/glib-CVE-2021-27219-03.patch \ + %D%/packages/patches/glib-CVE-2021-27219-04.patch \ + %D%/packages/patches/glib-CVE-2021-27219-05.patch \ + %D%/packages/patches/glib-CVE-2021-27219-06.patch \ + %D%/packages/patches/glib-CVE-2021-27219-07.patch \ + %D%/packages/patches/glib-CVE-2021-27219-08.patch \ + %D%/packages/patches/glib-CVE-2021-27219-09.patch \ + %D%/packages/patches/glib-CVE-2021-27219-10.patch \ + %D%/packages/patches/glib-CVE-2021-27219-11.patch \ + %D%/packages/patches/glib-CVE-2021-27219-12.patch \ + %D%/packages/patches/glib-CVE-2021-27219-13.patch \ + %D%/packages/patches/glib-CVE-2021-27219-14.patch \ + %D%/packages/patches/glib-CVE-2021-27219-15.patch \ + %D%/packages/patches/glib-CVE-2021-27219-16.patch \ + %D%/packages/patches/glib-CVE-2021-27219-17.patch \ + %D%/packages/patches/glib-CVE-2021-27219-18.patch \ %D%/packages/patches/glibc-CVE-2018-11236.patch \ %D%/packages/patches/glibc-CVE-2018-11237.patch \ %D%/packages/patches/glibc-CVE-2019-7309.patch \ diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 9cc2b1b69e..520b723722 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2016, 2019, 2020 Ludovic Courtès ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2013 Nikita Karetnikov -;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2021 Mark H Weaver ;;; Copyright © 2016, 2020 Efraim Flashner ;;; Copyright © 2016 Lukas Gradl ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus @@ -172,6 +172,7 @@ shared NFS home directories.") (package (name "glib") (version "2.62.6") + (replacement glib/fixed) (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" @@ -390,6 +391,33 @@ dynamic loading, and an object system.") (home-page "https://developer.gnome.org/glib/") (license license:lgpl2.1+))) +(define glib/fixed + (package + (inherit glib) + (source (origin + (inherit (package-source glib)) + (patches + (append (search-patches "glib-CVE-2021-27218.patch" + "glib-CVE-2021-27219-01.patch" + "glib-CVE-2021-27219-02.patch" + "glib-CVE-2021-27219-03.patch" + "glib-CVE-2021-27219-04.patch" + "glib-CVE-2021-27219-05.patch" + "glib-CVE-2021-27219-06.patch" + "glib-CVE-2021-27219-07.patch" + "glib-CVE-2021-27219-08.patch" + "glib-CVE-2021-27219-09.patch" + "glib-CVE-2021-27219-10.patch" + "glib-CVE-2021-27219-11.patch" + "glib-CVE-2021-27219-12.patch" + "glib-CVE-2021-27219-13.patch" + "glib-CVE-2021-27219-14.patch" + "glib-CVE-2021-27219-15.patch" + "glib-CVE-2021-27219-16.patch" + "glib-CVE-2021-27219-17.patch" + "glib-CVE-2021-27219-18.patch") + (origin-patches (package-source glib)))))))) + (define-public glib-with-documentation ;; glib's doc must be built in a separate package since it requires gtk-doc, ;; which in turn depends on glib. diff --git a/gnu/packages/patches/glib-CVE-2021-27218.patch b/gnu/packages/patches/glib-CVE-2021-27218.patch new file mode 100644 index 0000000000..00fa5ebf79 --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27218.patch @@ -0,0 +1,132 @@ +Backport of: + +From 0f384c88a241bbbd884487b1c40b7b75f1e638d3 Mon Sep 17 00:00:00 2001 +From: Krzesimir Nowak +Date: Wed, 10 Feb 2021 23:51:07 +0100 +Subject: [PATCH] gbytearray: Do not accept too large byte arrays + +GByteArray uses guint for storing the length of the byte array, but it +also has a constructor (g_byte_array_new_take) that takes length as a +gsize. gsize may be larger than guint (64 bits for gsize vs 32 bits +for guint). It is possible to call the function with a value greater +than G_MAXUINT, which will result in silent length truncation. This +may happen as a result of unreffing GBytes into GByteArray, so rather +be loud about it. + +(Test case tweaked by Philip Withnall.) + +(Backport 2.66: Add #include gstrfuncsprivate.h in the test case for +`g_memdup2()`.) +--- + glib/garray.c | 6 ++++++ + glib/gbytes.c | 4 ++++ + glib/tests/bytes.c | 35 ++++++++++++++++++++++++++++++++++- + 3 files changed, 44 insertions(+), 1 deletion(-) + +diff --git a/glib/garray.c b/glib/garray.c +index 942e74c9f..fb1a42aaf 100644 +--- a/glib/garray.c ++++ b/glib/garray.c +@@ -2013,6 +2013,10 @@ g_byte_array_new (void) + * Create byte array containing the data. The data will be owned by the array + * and will be freed with g_free(), i.e. it could be allocated using g_strdup(). + * ++ * Do not use it if @len is greater than %G_MAXUINT. #GByteArray ++ * stores the length of its data in #guint, which may be shorter than ++ * #gsize. ++ * + * Since: 2.32 + * + * Returns: (transfer full): a new #GByteArray +@@ -2024,6 +2028,8 @@ g_byte_array_new_take (guint8 *data, + GByteArray *array; + GRealArray *real; + ++ g_return_val_if_fail (len <= G_MAXUINT, NULL); ++ + array = g_byte_array_new (); + real = (GRealArray *)array; + g_assert (real->data == NULL); +diff --git a/glib/gbytes.c b/glib/gbytes.c +index 7b72886e5..d56abe6c3 100644 +--- a/glib/gbytes.c ++++ b/glib/gbytes.c +@@ -519,6 +519,10 @@ g_bytes_unref_to_data (GBytes *bytes, + * g_bytes_new(), g_bytes_new_take() or g_byte_array_free_to_bytes(). In all + * other cases the data is copied. + * ++ * Do not use it if @bytes contains more than %G_MAXUINT ++ * bytes. #GByteArray stores the length of its data in #guint, which ++ * may be shorter than #gsize, that @bytes is using. ++ * + * Returns: (transfer full): a new mutable #GByteArray containing the same byte data + * + * Since: 2.32 +diff --git a/glib/tests/bytes.c b/glib/tests/bytes.c +index 5ea5c2b35..15a6aaad6 100644 +--- a/glib/tests/bytes.c ++++ b/glib/tests/bytes.c +@@ -10,12 +10,12 @@ + */ + + #undef G_DISABLE_ASSERT +-#undef G_LOG_DOMAIN + + #include + #include + #include + #include "glib.h" ++#include "glib/gstrfuncsprivate.h" + + /* Keep in sync with glib/gbytes.c */ + struct _GBytes +@@ -333,6 +333,38 @@ test_to_array_transferred (void) + g_byte_array_unref (array); + } + ++static void ++test_to_array_transferred_oversize (void) ++{ ++ g_test_message ("g_bytes_unref_to_array() can only take GBytes up to " ++ "G_MAXUINT in length; test that longer ones are rejected"); ++ ++ if (sizeof (guint) >= sizeof (gsize)) ++ { ++ g_test_skip ("Skipping test as guint is not smaller than gsize"); ++ } ++ else if (g_test_undefined ()) ++ { ++ GByteArray *array = NULL; ++ GBytes *bytes = NULL; ++ gpointer data = g_memdup2 (NYAN, N_NYAN); ++ gsize len = ((gsize) G_MAXUINT) + 1; ++ ++ bytes = g_bytes_new_take (data, len); ++ g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, ++ "g_byte_array_new_take: assertion 'len <= G_MAXUINT' failed"); ++ array = g_bytes_unref_to_array (g_steal_pointer (&bytes)); ++ g_test_assert_expected_messages (); ++ g_assert_null (array); ++ ++ g_free (data); ++ } ++ else ++ { ++ g_test_skip ("Skipping test as testing undefined behaviour is disabled"); ++ } ++} ++ + static void + test_to_array_two_refs (void) + { +@@ -410,6 +442,7 @@ main (int argc, char *argv[]) + g_test_add_func ("/bytes/to-array/transfered", test_to_array_transferred); + g_test_add_func ("/bytes/to-array/two-refs", test_to_array_two_refs); + g_test_add_func ("/bytes/to-array/non-malloc", test_to_array_non_malloc); ++ g_test_add_func ("/bytes/to-array/transferred/oversize", test_to_array_transferred_oversize); + g_test_add_func ("/bytes/null", test_null); + + return g_test_run (); +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-01.patch b/gnu/packages/patches/glib-CVE-2021-27219-01.patch new file mode 100644 index 0000000000..5db360d468 --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-01.patch @@ -0,0 +1,176 @@ +Backport of: + +From 5e5f75a77e399c638be66d74e5daa8caeb433e00 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 4 Feb 2021 13:30:52 +0000 +Subject: [PATCH 01/11] gstrfuncs: Add internal g_memdup2() function +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This will replace the existing `g_memdup()` function for use within +GLib. It has an unavoidable security flaw of taking its `byte_size` +argument as a `guint` rather than as a `gsize`. Most callers will +expect it to be a `gsize`, and may pass in large values which could +silently be truncated, resulting in an undersize allocation compared +to what the caller expects. + +This could lead to a classic buffer overflow vulnerability for many +callers of `g_memdup()`. + +`g_memdup2()`, in comparison, takes its `byte_size` as a `gsize`. + +Spotted by Kevin Backhouse of GHSL. + +In GLib 2.68, `g_memdup2()` will be a new public API. In this version +for backport to older stable releases, it’s a new `static inline` API +in a private header, so that use of `g_memdup()` within GLib can be +fixed without adding a new API in a stable release series. + +Signed-off-by: Philip Withnall +Helps: GHSL-2021-045 +Helps: #2319 +--- + docs/reference/glib/meson.build | 1 + + glib/gstrfuncsprivate.h | 55 +++++++++++++++++++++++++++++++++ + glib/meson.build | 1 + + glib/tests/strfuncs.c | 23 ++++++++++++++ + 4 files changed, 80 insertions(+) + create mode 100644 glib/gstrfuncsprivate.h + +diff --git a/docs/reference/glib/meson.build b/docs/reference/glib/meson.build +index bba7649f0..ee39f6d04 100644 +--- a/docs/reference/glib/meson.build ++++ b/docs/reference/glib/meson.build +@@ -22,6 +22,7 @@ if get_option('gtk_doc') + 'gprintfint.h', + 'gmirroringtable.h', + 'gscripttable.h', ++ 'gstrfuncsprivate.h', + 'glib-mirroring-tab', + 'gnulib', + 'pcre', +diff --git a/glib/gstrfuncsprivate.h b/glib/gstrfuncsprivate.h +new file mode 100644 +index 000000000..85c88328a +--- /dev/null ++++ b/glib/gstrfuncsprivate.h +@@ -0,0 +1,55 @@ ++/* GLIB - Library of useful routines for C programming ++ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library 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 ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, see . ++ */ ++ ++#include ++#include ++ ++/* ++ * g_memdup2: ++ * @mem: (nullable): the memory to copy. ++ * @byte_size: the number of bytes to copy. ++ * ++ * Allocates @byte_size bytes of memory, and copies @byte_size bytes into it ++ * from @mem. If @mem is %NULL it returns %NULL. ++ * ++ * This replaces g_memdup(), which was prone to integer overflows when ++ * converting the argument from a #gsize to a #guint. ++ * ++ * This static inline version is a backport of the new public API from ++ * GLib 2.68, kept internal to GLib for backport to older stable releases. ++ * See https://gitlab.gnome.org/GNOME/glib/-/issues/2319. ++ * ++ * Returns: (nullable): a pointer to the newly-allocated copy of the memory, ++ * or %NULL if @mem is %NULL. ++ * Since: 2.68 ++ */ ++static inline gpointer ++g_memdup2 (gconstpointer mem, ++ gsize byte_size) ++{ ++ gpointer new_mem; ++ ++ if (mem && byte_size != 0) ++ { ++ new_mem = g_malloc (byte_size); ++ memcpy (new_mem, mem, byte_size); ++ } ++ else ++ new_mem = NULL; ++ ++ return new_mem; ++} +diff --git a/glib/meson.build b/glib/meson.build +index aaf5f00f5..5a6eea397 100644 +--- a/glib/meson.build ++++ b/glib/meson.build +@@ -268,6 +268,7 @@ glib_sources = files( + 'gslist.c', + 'gstdio.c', + 'gstrfuncs.c', ++ 'gstrfuncsprivate.h', + 'gstring.c', + 'gstringchunk.c', + 'gtestutils.c', +diff --git a/glib/tests/strfuncs.c b/glib/tests/strfuncs.c +index e1f9619c7..d968afff9 100644 +--- a/glib/tests/strfuncs.c ++++ b/glib/tests/strfuncs.c +@@ -32,6 +32,8 @@ + #include + #include "glib.h" + ++#include "gstrfuncsprivate.h" ++ + #if defined (_MSC_VER) && (_MSC_VER <= 1800) + #define isnan(x) _isnan(x) + +@@ -219,6 +221,26 @@ test_memdup (void) + g_free (str_dup); + } + ++/* Testing g_memdup2() function with various positive and negative cases */ ++static void ++test_memdup2 (void) ++{ ++ gchar *str_dup = NULL; ++ const gchar *str = "The quick brown fox jumps over the lazy dog"; ++ ++ /* Testing negative cases */ ++ g_assert_null (g_memdup2 (NULL, 1024)); ++ g_assert_null (g_memdup2 (str, 0)); ++ g_assert_null (g_memdup2 (NULL, 0)); ++ ++ /* Testing normal usage cases */ ++ str_dup = g_memdup2 (str, strlen (str) + 1); ++ g_assert_nonnull (str_dup); ++ g_assert_cmpstr (str, ==, str_dup); ++ ++ g_free (str_dup); ++} ++ + /* Testing g_strpcpy() function with various positive and negative cases */ + static void + test_stpcpy (void) +@@ -2523,6 +2545,7 @@ main (int argc, + g_test_add_func ("/strfuncs/has-prefix", test_has_prefix); + g_test_add_func ("/strfuncs/has-suffix", test_has_suffix); + g_test_add_func ("/strfuncs/memdup", test_memdup); ++ g_test_add_func ("/strfuncs/memdup2", test_memdup2); + g_test_add_func ("/strfuncs/stpcpy", test_stpcpy); + g_test_add_func ("/strfuncs/str_match_string", test_str_match_string); + g_test_add_func ("/strfuncs/str_tokenize_and_fold", test_str_tokenize_and_fold); +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-02.patch b/gnu/packages/patches/glib-CVE-2021-27219-02.patch new file mode 100644 index 0000000000..431959fa8f --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-02.patch @@ -0,0 +1,264 @@ +Backport of: + +From be8834340a2d928ece82025463ae23dee2c333d0 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 4 Feb 2021 13:37:56 +0000 +Subject: [PATCH 02/11] gio: Use g_memdup2() instead of g_memdup() in obvious + places +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Convert all the call sites which use `g_memdup()`’s length argument +trivially (for example, by passing a `sizeof()`), so that they use +`g_memdup2()` instead. + +In almost all of these cases the use of `g_memdup()` would not have +caused problems, but it will soon be deprecated, so best port away from +it. + +Signed-off-by: Philip Withnall +Helps: #2319 +--- + gio/gdbusconnection.c | 5 +++-- + gio/gdbusinterfaceskeleton.c | 3 ++- + gio/gfile.c | 7 ++++--- + gio/gsettingsschema.c | 5 +++-- + gio/gwin32registrykey.c | 8 +++++--- + gio/tests/async-close-output-stream.c | 6 ++++-- + gio/tests/gdbus-export.c | 5 +++-- + gio/win32/gwinhttpfile.c | 9 +++++---- + 8 files changed, 29 insertions(+), 19 deletions(-) + +diff --git a/gio/gdbusconnection.c b/gio/gdbusconnection.c +index f1f0921d4..d56453486 100644 +--- a/gio/gdbusconnection.c ++++ b/gio/gdbusconnection.c +@@ -110,6 +110,7 @@ + #include "gasyncinitable.h" + #include "giostream.h" + #include "gasyncresult.h" ++#include "gstrfuncsprivate.h" + #include "gtask.h" + #include "gmarshal-internal.h" + +@@ -3997,7 +3998,7 @@ _g_dbus_interface_vtable_copy (const GDBusInterfaceVTable *vtable) + /* Don't waste memory by copying padding - remember to update this + * when changing struct _GDBusInterfaceVTable in gdbusconnection.h + */ +- return g_memdup ((gconstpointer) vtable, 3 * sizeof (gpointer)); ++ return g_memdup2 ((gconstpointer) vtable, 3 * sizeof (gpointer)); + } + + static void +@@ -4014,7 +4015,7 @@ _g_dbus_subtree_vtable_copy (const GDBusSubtreeVTable *vtable) + /* Don't waste memory by copying padding - remember to update this + * when changing struct _GDBusSubtreeVTable in gdbusconnection.h + */ +- return g_memdup ((gconstpointer) vtable, 3 * sizeof (gpointer)); ++ return g_memdup2 ((gconstpointer) vtable, 3 * sizeof (gpointer)); + } + + static void +diff --git a/gio/gdbusinterfaceskeleton.c b/gio/gdbusinterfaceskeleton.c +index 4a06516c1..4a4b719a5 100644 +--- a/gio/gdbusinterfaceskeleton.c ++++ b/gio/gdbusinterfaceskeleton.c +@@ -28,6 +28,7 @@ + #include "gdbusmethodinvocation.h" + #include "gdbusconnection.h" + #include "gmarshal-internal.h" ++#include "gstrfuncsprivate.h" + #include "gtask.h" + #include "gioerror.h" + +@@ -701,7 +702,7 @@ add_connection_locked (GDBusInterfaceSkeleton *interface_, + * properly before building the hooked_vtable, so we create it + * once at the last minute. + */ +- interface_->priv->hooked_vtable = g_memdup (g_dbus_interface_skeleton_get_vtable (interface_), sizeof (GDBusInterfaceVTable)); ++ interface_->priv->hooked_vtable = g_memdup2 (g_dbus_interface_skeleton_get_vtable (interface_), sizeof (GDBusInterfaceVTable)); + interface_->priv->hooked_vtable->method_call = skeleton_intercept_handle_method_call; + } + +diff --git a/gio/gfile.c b/gio/gfile.c +index ba93f7c75..88b341e7d 100644 +--- a/gio/gfile.c ++++ b/gio/gfile.c +@@ -60,6 +60,7 @@ + #include "gasyncresult.h" + #include "gioerror.h" + #include "glibintl.h" ++#include "gstrfuncsprivate.h" + + + /** +@@ -7884,7 +7885,7 @@ measure_disk_usage_progress (gboolean reporting, + g_main_context_invoke_full (g_task_get_context (task), + g_task_get_priority (task), + measure_disk_usage_invoke_progress, +- g_memdup (&progress, sizeof progress), ++ g_memdup2 (&progress, sizeof progress), + g_free); + } + +@@ -7902,7 +7903,7 @@ measure_disk_usage_thread (GTask *task, + data->progress_callback ? measure_disk_usage_progress : NULL, task, + &result.disk_usage, &result.num_dirs, &result.num_files, + &error)) +- g_task_return_pointer (task, g_memdup (&result, sizeof result), g_free); ++ g_task_return_pointer (task, g_memdup2 (&result, sizeof result), g_free); + else + g_task_return_error (task, error); + } +@@ -7926,7 +7927,7 @@ g_file_real_measure_disk_usage_async (GFile *file, + + task = g_task_new (file, cancellable, callback, user_data); + g_task_set_source_tag (task, g_file_real_measure_disk_usage_async); +- g_task_set_task_data (task, g_memdup (&data, sizeof data), g_free); ++ g_task_set_task_data (task, g_memdup2 (&data, sizeof data), g_free); + g_task_set_priority (task, io_priority); + + g_task_run_in_thread (task, measure_disk_usage_thread); +diff --git a/gio/gsettingsschema.c b/gio/gsettingsschema.c +index 3a60b8c64..dded9b1ca 100644 +--- a/gio/gsettingsschema.c ++++ b/gio/gsettingsschema.c +@@ -20,6 +20,7 @@ + + #include "gsettingsschema-internal.h" + #include "gsettings.h" ++#include "gstrfuncsprivate.h" + + #include "gvdb/gvdb-reader.h" + #include "strinfo.c" +@@ -1058,9 +1059,9 @@ g_settings_schema_list_children (GSettingsSchema *schema) + + if (g_str_has_suffix (key, "/")) + { +- gint length = strlen (key); ++ gsize length = strlen (key); + +- strv[j] = g_memdup (key, length); ++ strv[j] = g_memdup2 (key, length); + strv[j][length - 1] = '\0'; + j++; + } +diff --git a/gio/gwin32registrykey.c b/gio/gwin32registrykey.c +index c19fede4e..619fd48af 100644 +--- a/gio/gwin32registrykey.c ++++ b/gio/gwin32registrykey.c +@@ -28,6 +28,8 @@ + #include + #include + ++#include "gstrfuncsprivate.h" ++ + #ifndef _WDMDDK_ + typedef enum _KEY_INFORMATION_CLASS { + KeyBasicInformation, +@@ -247,7 +249,7 @@ g_win32_registry_value_iter_copy (const GWin32RegistryValueIter *iter) + new_iter->value_name_size = iter->value_name_size; + + if (iter->value_data != NULL) +- new_iter->value_data = g_memdup (iter->value_data, iter->value_data_size); ++ new_iter->value_data = g_memdup2 (iter->value_data, iter->value_data_size); + + new_iter->value_data_size = iter->value_data_size; + +@@ -268,8 +270,8 @@ g_win32_registry_value_iter_copy (const GWin32RegistryValueIter *iter) + new_iter->value_data_expanded_charsize = iter->value_data_expanded_charsize; + + if (iter->value_data_expanded_u8 != NULL) +- new_iter->value_data_expanded_u8 = g_memdup (iter->value_data_expanded_u8, +- iter->value_data_expanded_charsize); ++ new_iter->value_data_expanded_u8 = g_memdup2 (iter->value_data_expanded_u8, ++ iter->value_data_expanded_charsize); + + new_iter->value_data_expanded_u8_size = iter->value_data_expanded_charsize; + +diff --git a/gio/tests/async-close-output-stream.c b/gio/tests/async-close-output-stream.c +index 5f6620275..d3f97a119 100644 +--- a/gio/tests/async-close-output-stream.c ++++ b/gio/tests/async-close-output-stream.c +@@ -24,6 +24,8 @@ + #include + #include + ++#include "gstrfuncsprivate.h" ++ + #define DATA_TO_WRITE "Hello world\n" + + typedef struct +@@ -147,9 +149,9 @@ prepare_data (SetupData *data, + + data->expected_size = g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (data->data_stream)); + +- g_assert_cmpint (data->expected_size, >, 0); ++ g_assert_cmpuint (data->expected_size, >, 0); + +- data->expected_output = g_memdup (written, (guint)data->expected_size); ++ data->expected_output = g_memdup2 (written, data->expected_size); + + /* then recreate the streams and prepare them for the asynchronous close */ + destroy_streams (data); +diff --git a/gio/tests/gdbus-export.c b/gio/tests/gdbus-export.c +index 506c7458a..5513306f8 100644 +--- a/gio/tests/gdbus-export.c ++++ b/gio/tests/gdbus-export.c +@@ -23,6 +23,7 @@ + #include + + #include "gdbus-tests.h" ++#include "gstrfuncsprivate.h" + + /* all tests rely on a shared mainloop */ + static GMainLoop *loop = NULL; +@@ -671,7 +672,7 @@ subtree_introspect (GDBusConnection *connection, + g_assert_not_reached (); + } + +- return g_memdup (interfaces, 2 * sizeof (void *)); ++ return g_memdup2 (interfaces, 2 * sizeof (void *)); + } + + static const GDBusInterfaceVTable * +@@ -727,7 +728,7 @@ dynamic_subtree_introspect (GDBusConnection *connection, + { + const GDBusInterfaceInfo *interfaces[2] = { &dyna_interface_info, NULL }; + +- return g_memdup (interfaces, 2 * sizeof (void *)); ++ return g_memdup2 (interfaces, 2 * sizeof (void *)); + } + + static const GDBusInterfaceVTable * +diff --git a/gio/win32/gwinhttpfile.c b/gio/win32/gwinhttpfile.c +index cf5eed31d..040ee8564 100644 +--- a/gio/win32/gwinhttpfile.c ++++ b/gio/win32/gwinhttpfile.c +@@ -29,6 +29,7 @@ + #include "gio/gfile.h" + #include "gio/gfileattribute.h" + #include "gio/gfileinfo.h" ++#include "gstrfuncsprivate.h" + #include "gwinhttpfile.h" + #include "gwinhttpfileinputstream.h" + #include "gwinhttpfileoutputstream.h" +@@ -393,10 +394,10 @@ g_winhttp_file_resolve_relative_path (GFile *file, + child = g_object_new (G_TYPE_WINHTTP_FILE, NULL); + child->vfs = winhttp_file->vfs; + child->url = winhttp_file->url; +- child->url.lpszScheme = g_memdup (winhttp_file->url.lpszScheme, (winhttp_file->url.dwSchemeLength+1)*2); +- child->url.lpszHostName = g_memdup (winhttp_file->url.lpszHostName, (winhttp_file->url.dwHostNameLength+1)*2); +- child->url.lpszUserName = g_memdup (winhttp_file->url.lpszUserName, (winhttp_file->url.dwUserNameLength+1)*2); +- child->url.lpszPassword = g_memdup (winhttp_file->url.lpszPassword, (winhttp_file->url.dwPasswordLength+1)*2); ++ child->url.lpszScheme = g_memdup2 (winhttp_file->url.lpszScheme, (winhttp_file->url.dwSchemeLength+1)*2); ++ child->url.lpszHostName = g_memdup2 (winhttp_file->url.lpszHostName, (winhttp_file->url.dwHostNameLength+1)*2); ++ child->url.lpszUserName = g_memdup2 (winhttp_file->url.lpszUserName, (winhttp_file->url.dwUserNameLength+1)*2); ++ child->url.lpszPassword = g_memdup2 (winhttp_file->url.lpszPassword, (winhttp_file->url.dwPasswordLength+1)*2); + child->url.lpszUrlPath = wnew_path; + child->url.dwUrlPathLength = wcslen (wnew_path); + child->url.lpszExtraInfo = NULL; +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-03.patch b/gnu/packages/patches/glib-CVE-2021-27219-03.patch new file mode 100644 index 0000000000..99e849c43c --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-03.patch @@ -0,0 +1,136 @@ +From 6110caea45b235420b98cd41d845cc92238f6781 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 4 Feb 2021 13:39:25 +0000 +Subject: [PATCH 03/11] gobject: Use g_memdup2() instead of g_memdup() in + obvious places +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Convert all the call sites which use `g_memdup()`’s length argument +trivially (for example, by passing a `sizeof()`), so that they use +`g_memdup2()` instead. + +In almost all of these cases the use of `g_memdup()` would not have +caused problems, but it will soon be deprecated, so best port away from +it. + +Signed-off-by: Philip Withnall +Helps: #2319 +--- + gobject/gsignal.c | 3 ++- + gobject/gtype.c | 9 +++++---- + gobject/gtypemodule.c | 3 ++- + gobject/tests/param.c | 4 +++- + 4 files changed, 12 insertions(+), 7 deletions(-) + +diff --git a/gobject/gsignal.c b/gobject/gsignal.c +index 77d8f211e..41c54ab57 100644 +--- a/gobject/gsignal.c ++++ b/gobject/gsignal.c +@@ -28,6 +28,7 @@ + #include + + #include "gsignal.h" ++#include "gstrfuncsprivate.h" + #include "gtype-private.h" + #include "gbsearcharray.h" + #include "gvaluecollector.h" +@@ -1730,7 +1731,7 @@ g_signal_newv (const gchar *signal_name, + node->single_va_closure_is_valid = FALSE; + node->flags = signal_flags & G_SIGNAL_FLAGS_MASK; + node->n_params = n_params; +- node->param_types = g_memdup (param_types, sizeof (GType) * n_params); ++ node->param_types = g_memdup2 (param_types, sizeof (GType) * n_params); + node->return_type = return_type; + node->class_closure_bsa = NULL; + if (accumulator) +diff --git a/gobject/gtype.c b/gobject/gtype.c +index 7d3789400..8441b90e9 100644 +--- a/gobject/gtype.c ++++ b/gobject/gtype.c +@@ -33,6 +33,7 @@ + + #include "glib-private.h" + #include "gconstructor.h" ++#include "gstrfuncsprivate.h" + + #ifdef G_OS_WIN32 + #include +@@ -1470,7 +1471,7 @@ type_add_interface_Wm (TypeNode *node, + iholder->next = iface_node_get_holders_L (iface); + iface_node_set_holders_W (iface, iholder); + iholder->instance_type = NODE_TYPE (node); +- iholder->info = info ? g_memdup (info, sizeof (*info)) : NULL; ++ iholder->info = info ? g_memdup2 (info, sizeof (*info)) : NULL; + iholder->plugin = plugin; + + /* create an iface entry for this type */ +@@ -1731,7 +1732,7 @@ type_iface_retrieve_holder_info_Wm (TypeNode *iface, + INVALID_RECURSION ("g_type_plugin_*", iholder->plugin, NODE_NAME (iface)); + + check_interface_info_I (iface, instance_type, &tmp_info); +- iholder->info = g_memdup (&tmp_info, sizeof (tmp_info)); ++ iholder->info = g_memdup2 (&tmp_info, sizeof (tmp_info)); + } + + return iholder; /* we don't modify write lock upon returning NULL */ +@@ -2016,10 +2017,10 @@ type_iface_vtable_base_init_Wm (TypeNode *iface, + IFaceEntry *pentry = type_lookup_iface_entry_L (pnode, iface); + + if (pentry) +- vtable = g_memdup (pentry->vtable, iface->data->iface.vtable_size); ++ vtable = g_memdup2 (pentry->vtable, iface->data->iface.vtable_size); + } + if (!vtable) +- vtable = g_memdup (iface->data->iface.dflt_vtable, iface->data->iface.vtable_size); ++ vtable = g_memdup2 (iface->data->iface.dflt_vtable, iface->data->iface.vtable_size); + entry->vtable = vtable; + vtable->g_type = NODE_TYPE (iface); + vtable->g_instance_type = NODE_TYPE (node); +diff --git a/gobject/gtypemodule.c b/gobject/gtypemodule.c +index 4ecaf8c88..20911fafd 100644 +--- a/gobject/gtypemodule.c ++++ b/gobject/gtypemodule.c +@@ -19,6 +19,7 @@ + + #include + ++#include "gstrfuncsprivate.h" + #include "gtypeplugin.h" + #include "gtypemodule.h" + +@@ -436,7 +437,7 @@ g_type_module_register_type (GTypeModule *module, + module_type_info->loaded = TRUE; + module_type_info->info = *type_info; + if (type_info->value_table) +- module_type_info->info.value_table = g_memdup (type_info->value_table, ++ module_type_info->info.value_table = g_memdup2 (type_info->value_table, + sizeof (GTypeValueTable)); + + return module_type_info->type; +diff --git a/gobject/tests/param.c b/gobject/tests/param.c +index 758289bf8..971cff162 100644 +--- a/gobject/tests/param.c ++++ b/gobject/tests/param.c +@@ -2,6 +2,8 @@ + #include + #include + ++#include "gstrfuncsprivate.h" ++ + static void + test_param_value (void) + { +@@ -851,7 +853,7 @@ main (int argc, char *argv[]) + test_path = g_strdup_printf ("/param/implement/subprocess/%d-%d-%d-%d", + data.change_this_flag, data.change_this_type, + data.use_this_flag, data.use_this_type); +- test_data = g_memdup (&data, sizeof (TestParamImplementData)); ++ test_data = g_memdup2 (&data, sizeof (TestParamImplementData)); + g_test_add_data_func_full (test_path, test_data, test_param_implement_child, g_free); + g_free (test_path); + } +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-04.patch b/gnu/packages/patches/glib-CVE-2021-27219-04.patch new file mode 100644 index 0000000000..3ae01f34b1 --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-04.patch @@ -0,0 +1,308 @@ +Backport of: + +From 0736b7c1e7cf4232c5d7eb2b0fbfe9be81bd3baa Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 4 Feb 2021 13:41:21 +0000 +Subject: [PATCH 04/11] glib: Use g_memdup2() instead of g_memdup() in obvious + places +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Convert all the call sites which use `g_memdup()`’s length argument +trivially (for example, by passing a `sizeof()` or an existing `gsize` +variable), so that they use `g_memdup2()` instead. + +In almost all of these cases the use of `g_memdup()` would not have +caused problems, but it will soon be deprecated, so best port away from +it + +In particular, this fixes an overflow within `g_bytes_new()`, identified +as GHSL-2021-045 by GHSL team member Kevin Backhouse. + +Signed-off-by: Philip Withnall +Fixes: GHSL-2021-045 +Helps: #2319 +--- + glib/gbytes.c | 6 ++++-- + glib/gdir.c | 3 ++- + glib/ghash.c | 7 ++++--- + glib/giochannel.c | 3 ++- + glib/gslice.c | 3 ++- + glib/gtestutils.c | 3 ++- + glib/gvariant.c | 7 ++++--- + glib/gvarianttype.c | 3 ++- + glib/tests/array-test.c | 4 +++- + glib/tests/option-context.c | 6 ++++-- + 10 files changed, 29 insertions(+), 16 deletions(-) + +diff --git a/glib/gbytes.c b/glib/gbytes.c +index d56abe6c3..dee494820 100644 +--- a/glib/gbytes.c ++++ b/glib/gbytes.c +@@ -34,6 +34,8 @@ + + #include + ++#include "gstrfuncsprivate.h" ++ + /** + * GBytes: + * +@@ -95,7 +97,7 @@ g_bytes_new (gconstpointer data, + { + g_return_val_if_fail (data != NULL || size == 0, NULL); + +- return g_bytes_new_take (g_memdup (data, size), size); ++ return g_bytes_new_take (g_memdup2 (data, size), size); + } + + /** +@@ -499,7 +501,7 @@ g_bytes_unref_to_data (GBytes *bytes, + * Copy: Non g_malloc (or compatible) allocator, or static memory, + * so we have to copy, and then unref. + */ +- result = g_memdup (bytes->data, bytes->size); ++ result = g_memdup2 (bytes->data, bytes->size); + *size = bytes->size; + g_bytes_unref (bytes); + } +diff --git a/glib/gdir.c b/glib/gdir.c +index 6b85e99c8..6747a8c6f 100644 +--- a/glib/gdir.c ++++ b/glib/gdir.c +@@ -37,6 +37,7 @@ + #include "gconvert.h" + #include "gfileutils.h" + #include "gstrfuncs.h" ++#include "gstrfuncsprivate.h" + #include "gtestutils.h" + #include "glibintl.h" + +@@ -112,7 +113,7 @@ g_dir_open_with_errno (const gchar *path, + return NULL; + #endif + +- return g_memdup (&dir, sizeof dir); ++ return g_memdup2 (&dir, sizeof dir); + } + + /** +diff --git a/glib/ghash.c b/glib/ghash.c +index e61b03788..26f26062b 100644 +--- a/glib/ghash.c ++++ b/glib/ghash.c +@@ -34,6 +34,7 @@ + #include "gmacros.h" + #include "glib-private.h" + #include "gstrfuncs.h" ++#include "gstrfuncsprivate.h" + #include "gatomic.h" + #include "gtestutils.h" + #include "gslice.h" +@@ -964,7 +965,7 @@ g_hash_table_ensure_keyval_fits (GHashTable *hash_table, gpointer key, gpointer + if (hash_table->have_big_keys) + { + if (key != value) +- hash_table->values = g_memdup (hash_table->keys, sizeof (gpointer) * hash_table->size); ++ hash_table->values = g_memdup2 (hash_table->keys, sizeof (gpointer) * hash_table->size); + /* Keys and values are both big now, so no need for further checks */ + return; + } +@@ -972,7 +973,7 @@ g_hash_table_ensure_keyval_fits (GHashTable *hash_table, gpointer key, gpointer + { + if (key != value) + { +- hash_table->values = g_memdup (hash_table->keys, sizeof (guint) * hash_table->size); ++ hash_table->values = g_memdup2 (hash_table->keys, sizeof (guint) * hash_table->size); + is_a_set = FALSE; + } + } +@@ -1000,7 +1001,7 @@ g_hash_table_ensure_keyval_fits (GHashTable *hash_table, gpointer key, gpointer + + /* Just split if necessary */ + if (is_a_set && key != value) +- hash_table->values = g_memdup (hash_table->keys, sizeof (gpointer) * hash_table->size); ++ hash_table->values = g_memdup2 (hash_table->keys, sizeof (gpointer) * hash_table->size); + + #endif + } +diff --git a/glib/giochannel.c b/glib/giochannel.c +index 1956e9dc6..15927c391 100644 +--- a/glib/giochannel.c ++++ b/glib/giochannel.c +@@ -37,6 +37,7 @@ + #include "giochannel.h" + + #include "gstrfuncs.h" ++#include "gstrfuncsprivate.h" + #include "gtestutils.h" + #include "glibintl.h" + +@@ -892,7 +893,7 @@ g_io_channel_set_line_term (GIOChannel *channel, + length = strlen (line_term); + + g_free (channel->line_term); +- channel->line_term = line_term ? g_memdup (line_term, length) : NULL; ++ channel->line_term = line_term ? g_memdup2 (line_term, length) : NULL; + channel->line_term_len = length; + } + +diff --git a/glib/gslice.c b/glib/gslice.c +index 4c758c3be..bcdbb8853 100644 +--- a/glib/gslice.c ++++ b/glib/gslice.c +@@ -41,6 +41,7 @@ + #include "gmain.h" + #include "gmem.h" /* gslice.h */ + #include "gstrfuncs.h" ++#include "gstrfuncsprivate.h" + #include "gutils.h" + #include "gtrashstack.h" + #include "gtestutils.h" +@@ -350,7 +351,7 @@ g_slice_get_config_state (GSliceConfig ckey, + array[i++] = allocator->contention_counters[address]; + array[i++] = allocator_get_magazine_threshold (allocator, address); + *n_values = i; +- return g_memdup (array, sizeof (array[0]) * *n_values); ++ return g_memdup2 (array, sizeof (array[0]) * *n_values); + default: + return NULL; + } +diff --git a/glib/gtestutils.c b/glib/gtestutils.c +index dd789482f..5887ecc36 100644 +--- a/glib/gtestutils.c ++++ b/glib/gtestutils.c +@@ -49,6 +49,7 @@ + #include "gpattern.h" + #include "grand.h" + #include "gstrfuncs.h" ++#include "gstrfuncsprivate.h" + #include "gtimer.h" + #include "gslice.h" + #include "gspawn.h" +@@ -3798,7 +3799,7 @@ g_test_log_extract (GTestLogBuffer *tbuffer) + if (p <= tbuffer->data->str + mlength) + { + g_string_erase (tbuffer->data, 0, mlength); +- tbuffer->msgs = g_slist_prepend (tbuffer->msgs, g_memdup (&msg, sizeof (msg))); ++ tbuffer->msgs = g_slist_prepend (tbuffer->msgs, g_memdup2 (&msg, sizeof (msg))); + return TRUE; + } + +diff --git a/glib/gvariant.c b/glib/gvariant.c +index b61bf7278..d6f68a9ea 100644 +--- a/glib/gvariant.c ++++ b/glib/gvariant.c +@@ -33,6 +33,7 @@ + + #include + ++#include "gstrfuncsprivate.h" + + /** + * SECTION:gvariant +@@ -725,7 +726,7 @@ g_variant_new_variant (GVariant *value) + g_variant_ref_sink (value); + + return g_variant_new_from_children (G_VARIANT_TYPE_VARIANT, +- g_memdup (&value, sizeof value), ++ g_memdup2 (&value, sizeof value), + 1, g_variant_is_trusted (value)); + } + +@@ -1229,7 +1230,7 @@ g_variant_new_fixed_array (const GVariantType *element_type, + return NULL; + } + +- data = g_memdup (elements, n_elements * element_size); ++ data = g_memdup2 (elements, n_elements * element_size); + value = g_variant_new_from_data (array_type, data, + n_elements * element_size, + FALSE, g_free, data); +@@ -1908,7 +1909,7 @@ g_variant_dup_bytestring (GVariant *value, + if (length) + *length = size; + +- return g_memdup (original, size + 1); ++ return g_memdup2 (original, size + 1); + } + + /** +diff --git a/glib/gvarianttype.c b/glib/gvarianttype.c +index 1a228f73b..07659ff12 100644 +--- a/glib/gvarianttype.c ++++ b/glib/gvarianttype.c +@@ -28,6 +28,7 @@ + + #include + ++#include "gstrfuncsprivate.h" + + /** + * SECTION:gvarianttype +@@ -1181,7 +1182,7 @@ g_variant_type_new_tuple (const GVariantType * const *items, + g_assert (offset < sizeof buffer); + buffer[offset++] = ')'; + +- return (GVariantType *) g_memdup (buffer, offset); ++ return (GVariantType *) g_memdup2 (buffer, offset); + } + + /** +diff --git a/glib/tests/array-test.c b/glib/tests/array-test.c +index 3fcf1136a..11982f822 100644 +--- a/glib/tests/array-test.c ++++ b/glib/tests/array-test.c +@@ -29,6 +29,8 @@ + #include + #include "glib.h" + ++#include "gstrfuncsprivate.h" ++ + /* Test data to be passed to any function which calls g_array_new(), providing + * the parameters for that call. Most #GArray tests should be repeated for all + * possible values of #ArrayTestData. */ +@@ -1642,7 +1644,7 @@ byte_array_new_take (void) + GByteArray *gbarray; + guint8 *data; + +- data = g_memdup ("woooweeewow", 11); ++ data = g_memdup2 ("woooweeewow", 11); + gbarray = g_byte_array_new_take (data, 11); + g_assert (gbarray->data == data); + g_assert_cmpuint (gbarray->len, ==, 11); +diff --git a/glib/tests/option-context.c b/glib/tests/option-context.c +index 149d22353..88d2b80d1 100644 +--- a/glib/tests/option-context.c ++++ b/glib/tests/option-context.c +@@ -27,6 +27,8 @@ + #include + #include + ++#include "gstrfuncsprivate.h" ++ + static GOptionEntry main_entries[] = { + { "main-switch", 0, 0, + G_OPTION_ARG_NONE, NULL, +@@ -256,7 +258,7 @@ join_stringv (int argc, char **argv) + static char ** + copy_stringv (char **argv, int argc) + { +- return g_memdup (argv, sizeof (char *) * (argc + 1)); ++ return g_memdup2 (argv, sizeof (char *) * (argc + 1)); + } + + static void +@@ -2323,7 +2325,7 @@ test_group_parse (void) + g_option_context_add_group (context, group); + + argv = split_string ("program --test arg1 -f arg2 --group-test arg3 --frob arg4 -z arg5", &argc); +- orig_argv = g_memdup (argv, (argc + 1) * sizeof (char *)); ++ orig_argv = g_memdup2 (argv, (argc + 1) * sizeof (char *)); + + retval = g_option_context_parse (context, &argc, &argv, &error); + +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-05.patch b/gnu/packages/patches/glib-CVE-2021-27219-05.patch new file mode 100644 index 0000000000..62bce1b188 --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-05.patch @@ -0,0 +1,47 @@ +From 0cbad673215ec8a049b7fe2ff44b0beed31b376e Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 4 Feb 2021 16:12:24 +0000 +Subject: [PATCH 05/11] gwinhttpfile: Avoid arithmetic overflow when + calculating a size +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The members of `URL_COMPONENTS` (`winhttp_file->url`) are `DWORD`s, i.e. +32-bit unsigned integers. Adding to and multiplying them may cause them +to overflow the unsigned integer bounds, even if the result is passed to +`g_memdup2()` which accepts a `gsize`. + +Cast the `URL_COMPONENTS` members to `gsize` first to ensure that the +arithmetic is done in terms of `gsize`s rather than unsigned integers. + +Spotted by Sebastian Dröge. + +Signed-off-by: Philip Withnall +Helps: #2319 +--- + gio/win32/gwinhttpfile.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/gio/win32/gwinhttpfile.c b/gio/win32/gwinhttpfile.c +index 040ee8564..246ec0578 100644 +--- a/gio/win32/gwinhttpfile.c ++++ b/gio/win32/gwinhttpfile.c +@@ -394,10 +394,10 @@ g_winhttp_file_resolve_relative_path (GFile *file, + child = g_object_new (G_TYPE_WINHTTP_FILE, NULL); + child->vfs = winhttp_file->vfs; + child->url = winhttp_file->url; +- child->url.lpszScheme = g_memdup2 (winhttp_file->url.lpszScheme, (winhttp_file->url.dwSchemeLength+1)*2); +- child->url.lpszHostName = g_memdup2 (winhttp_file->url.lpszHostName, (winhttp_file->url.dwHostNameLength+1)*2); +- child->url.lpszUserName = g_memdup2 (winhttp_file->url.lpszUserName, (winhttp_file->url.dwUserNameLength+1)*2); +- child->url.lpszPassword = g_memdup2 (winhttp_file->url.lpszPassword, (winhttp_file->url.dwPasswordLength+1)*2); ++ child->url.lpszScheme = g_memdup2 (winhttp_file->url.lpszScheme, ((gsize) winhttp_file->url.dwSchemeLength + 1) * 2); ++ child->url.lpszHostName = g_memdup2 (winhttp_file->url.lpszHostName, ((gsize) winhttp_file->url.dwHostNameLength + 1) * 2); ++ child->url.lpszUserName = g_memdup2 (winhttp_file->url.lpszUserName, ((gsize) winhttp_file->url.dwUserNameLength + 1) * 2); ++ child->url.lpszPassword = g_memdup2 (winhttp_file->url.lpszPassword, ((gsize) winhttp_file->url.dwPasswordLength + 1) * 2); + child->url.lpszUrlPath = wnew_path; + child->url.dwUrlPathLength = wcslen (wnew_path); + child->url.lpszExtraInfo = NULL; +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-06.patch b/gnu/packages/patches/glib-CVE-2021-27219-06.patch new file mode 100644 index 0000000000..4e2435f5fd --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-06.patch @@ -0,0 +1,94 @@ +From f9ee2275cbc312c0b4cdbc338a4fbb76eb36fb9a Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 4 Feb 2021 13:49:00 +0000 +Subject: [PATCH 06/11] gdatainputstream: Handle stop_chars_len internally as + gsize + +Previously it was handled as a `gssize`, which meant that if the +`stop_chars` string was longer than `G_MAXSSIZE` there would be an +overflow. + +Signed-off-by: Philip Withnall +Helps: #2319 +--- + gio/gdatainputstream.c | 25 +++++++++++++++++-------- + 1 file changed, 17 insertions(+), 8 deletions(-) + +diff --git a/gio/gdatainputstream.c b/gio/gdatainputstream.c +index 2e7750cb5..2cdcbda19 100644 +--- a/gio/gdatainputstream.c ++++ b/gio/gdatainputstream.c +@@ -27,6 +27,7 @@ + #include "gioenumtypes.h" + #include "gioerror.h" + #include "glibintl.h" ++#include "gstrfuncsprivate.h" + + #include + +@@ -856,7 +857,7 @@ static gssize + scan_for_chars (GDataInputStream *stream, + gsize *checked_out, + const char *stop_chars, +- gssize stop_chars_len) ++ gsize stop_chars_len) + { + GBufferedInputStream *bstream; + const char *buffer; +@@ -952,7 +953,7 @@ typedef struct + gsize checked; + + gchar *stop_chars; +- gssize stop_chars_len; ++ gsize stop_chars_len; + gsize length; + } GDataInputStreamReadData; + +@@ -1078,12 +1079,17 @@ g_data_input_stream_read_async (GDataInputStream *stream, + { + GDataInputStreamReadData *data; + GTask *task; ++ gsize stop_chars_len_unsigned; + + data = g_slice_new0 (GDataInputStreamReadData); +- if (stop_chars_len == -1) +- stop_chars_len = strlen (stop_chars); +- data->stop_chars = g_memdup (stop_chars, stop_chars_len); +- data->stop_chars_len = stop_chars_len; ++ ++ if (stop_chars_len < 0) ++ stop_chars_len_unsigned = strlen (stop_chars); ++ else ++ stop_chars_len_unsigned = (gsize) stop_chars_len; ++ ++ data->stop_chars = g_memdup2 (stop_chars, stop_chars_len_unsigned); ++ data->stop_chars_len = stop_chars_len_unsigned; + data->last_saw_cr = FALSE; + + task = g_task_new (stream, cancellable, callback, user_data); +@@ -1338,17 +1344,20 @@ g_data_input_stream_read_upto (GDataInputStream *stream, + gssize found_pos; + gssize res; + char *data_until; ++ gsize stop_chars_len_unsigned; + + g_return_val_if_fail (G_IS_DATA_INPUT_STREAM (stream), NULL); + + if (stop_chars_len < 0) +- stop_chars_len = strlen (stop_chars); ++ stop_chars_len_unsigned = strlen (stop_chars); ++ else ++ stop_chars_len_unsigned = (gsize) stop_chars_len; + + bstream = G_BUFFERED_INPUT_STREAM (stream); + + checked = 0; + +- while ((found_pos = scan_for_chars (stream, &checked, stop_chars, stop_chars_len)) == -1) ++ while ((found_pos = scan_for_chars (stream, &checked, stop_chars, stop_chars_len_unsigned)) == -1) + { + if (g_buffered_input_stream_get_available (bstream) == + g_buffered_input_stream_get_buffer_size (bstream)) +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-07.patch b/gnu/packages/patches/glib-CVE-2021-27219-07.patch new file mode 100644 index 0000000000..dad3d285f4 --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-07.patch @@ -0,0 +1,118 @@ +Backport of: + +From 2aaf593a9eb96d84fe3be740aca2810a97d95592 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 4 Feb 2021 13:50:37 +0000 +Subject: [PATCH 07/11] gwin32: Use gsize internally in g_wcsdup() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This allows it to handle strings up to length `G_MAXSIZE` — previously +it would overflow with such strings. + +Update the several copies of it identically. + +Signed-off-by: Philip Withnall +Helps: #2319 +--- + gio/gwin32appinfo.c | 33 ++++++++++++++++++++++++++------- + gio/gwin32registrykey.c | 34 ++++++++++++++++++++++++++-------- + 2 files changed, 52 insertions(+), 15 deletions(-) + +diff --git a/gio/gwin32appinfo.c b/gio/gwin32appinfo.c +index 9f335b370..dd7a96a4a 100644 +--- a/gio/gwin32appinfo.c ++++ b/gio/gwin32appinfo.c +@@ -464,15 +464,34 @@ static GWin32RegistryKey *applications_key; + /* Watch this key */ + static GWin32RegistryKey *classes_root_key; + ++static gsize ++g_utf16_len (const gunichar2 *str) ++{ ++ gsize result; ++ ++ for (result = 0; str[0] != 0; str++, result++) ++ ; ++ ++ return result; ++} ++ + static gunichar2 * +-g_wcsdup (const gunichar2 *str, gssize str_size) ++g_wcsdup (const gunichar2 *str, gssize str_len) + { +- if (str_size == -1) +- { +- str_size = wcslen (str) + 1; +- str_size *= sizeof (gunichar2); +- } +- return g_memdup (str, str_size); ++ gsize str_len_unsigned; ++ gsize str_size; ++ ++ g_return_val_if_fail (str != NULL, NULL); ++ ++ if (str_len < 0) ++ str_len_unsigned = g_utf16_len (str); ++ else ++ str_len_unsigned = (gsize) str_len; ++ ++ g_assert (str_len_unsigned <= G_MAXSIZE / sizeof (gunichar2) - 1); ++ str_size = (str_len_unsigned + 1) * sizeof (gunichar2); ++ ++ return g_memdup2 (str, str_size); + } + + #define URL_ASSOCIATIONS L"HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\" +diff --git a/gio/gwin32registrykey.c b/gio/gwin32registrykey.c +index 619fd48af..fbd65311a 100644 +--- a/gio/gwin32registrykey.c ++++ b/gio/gwin32registrykey.c +@@ -127,16 +127,34 @@ typedef enum + G_WIN32_REGISTRY_UPDATED_PATH = 1, + } GWin32RegistryKeyUpdateFlag; + ++static gsize ++g_utf16_len (const gunichar2 *str) ++{ ++ gsize result; ++ ++ for (result = 0; str[0] != 0; str++, result++) ++ ; ++ ++ return result; ++} ++ + static gunichar2 * +-g_wcsdup (const gunichar2 *str, +- gssize str_size) ++g_wcsdup (const gunichar2 *str, gssize str_len) + { +- if (str_size == -1) +- { +- str_size = wcslen (str) + 1; +- str_size *= sizeof (gunichar2); +- } +- return g_memdup (str, str_size); ++ gsize str_len_unsigned; ++ gsize str_size; ++ ++ g_return_val_if_fail (str != NULL, NULL); ++ ++ if (str_len < 0) ++ str_len_unsigned = g_utf16_len (str); ++ else ++ str_len_unsigned = (gsize) str_len; ++ ++ g_assert (str_len_unsigned <= G_MAXSIZE / sizeof (gunichar2) - 1); ++ str_size = (str_len_unsigned + 1) * sizeof (gunichar2); ++ ++ return g_memdup2 (str, str_size); + } + + /** +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-08.patch b/gnu/packages/patches/glib-CVE-2021-27219-08.patch new file mode 100644 index 0000000000..2c021ad317 --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-08.patch @@ -0,0 +1,94 @@ +From ba8ca443051f93a74c0d03d62e70402036f967a5 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 4 Feb 2021 13:58:32 +0000 +Subject: [PATCH 08/11] gkeyfilesettingsbackend: Handle long keys when + converting paths + +Previously, the code in `convert_path()` could not handle keys longer +than `G_MAXINT`, and would overflow if that was exceeded. + +Convert the code to use `gsize` and `g_memdup2()` throughout, and +change from identifying the position of the final slash in the string +using a signed offset `i`, to using a pointer to the character (and +`strrchr()`). This allows the slash to be at any position in a +`G_MAXSIZE`-long string, without sacrificing a bit of the offset for +indicating whether a slash was found. + +Signed-off-by: Philip Withnall +Helps: #2319 +--- + gio/gkeyfilesettingsbackend.c | 21 ++++++++++----------- + 1 file changed, 10 insertions(+), 11 deletions(-) + +diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend.c +index cd5765afd..25b057672 100644 +--- a/gio/gkeyfilesettingsbackend.c ++++ b/gio/gkeyfilesettingsbackend.c +@@ -33,6 +33,7 @@ + #include "gfilemonitor.h" + #include "gsimplepermission.h" + #include "gsettingsbackendinternal.h" ++#include "gstrfuncsprivate.h" + #include "giomodule-priv.h" + #include "gportalsupport.h" + +@@ -145,8 +146,8 @@ convert_path (GKeyfileSettingsBackend *kfsb, + gchar **group, + gchar **basename) + { +- gint key_len = strlen (key); +- gint i; ++ gsize key_len = strlen (key); ++ const gchar *last_slash; + + if (key_len < kfsb->prefix_len || + memcmp (key, kfsb->prefix, kfsb->prefix_len) != 0) +@@ -155,38 +156,36 @@ convert_path (GKeyfileSettingsBackend *kfsb, + key_len -= kfsb->prefix_len; + key += kfsb->prefix_len; + +- for (i = key_len; i >= 0; i--) +- if (key[i] == '/') +- break; ++ last_slash = strrchr (key, '/'); + + if (kfsb->root_group) + { + /* if a root_group was specified, make sure the user hasn't given + * a path that ghosts that group name + */ +- if (i == kfsb->root_group_len && memcmp (key, kfsb->root_group, i) == 0) ++ if (last_slash != NULL && (last_slash - key) == kfsb->root_group_len && memcmp (key, kfsb->root_group, last_slash - key) == 0) + return FALSE; + } + else + { + /* if no root_group was given, ensure that the user gave a path */ +- if (i == -1) ++ if (last_slash == NULL) + return FALSE; + } + + if (group) + { +- if (i >= 0) ++ if (last_slash != NULL) + { +- *group = g_memdup (key, i + 1); +- (*group)[i] = '\0'; ++ *group = g_memdup2 (key, (last_slash - key) + 1); ++ (*group)[(last_slash - key)] = '\0'; + } + else + *group = g_strdup (kfsb->root_group); + } + + if (basename) +- *basename = g_memdup (key + i + 1, key_len - i); ++ *basename = g_memdup2 (last_slash + 1, key_len - (last_slash - key)); + + return TRUE; + } +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-09.patch b/gnu/packages/patches/glib-CVE-2021-27219-09.patch new file mode 100644 index 0000000000..4de0c1b349 --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-09.patch @@ -0,0 +1,98 @@ +From 65ec7f4d6e8832c481f6e00e2eb007b9a60024ce Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 4 Feb 2021 14:00:53 +0000 +Subject: [PATCH 09/11] gsocket: Use gsize to track native sockaddr's size +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Don’t use an `int`, that’s potentially too small. In practical terms, +this is not a problem, since no socket address is going to be that big. + +By making these changes we can use `g_memdup2()` without warnings, +though. Fewer warnings is good. + +Signed-off-by: Philip Withnall +Helps: #2319 +--- + gio/gsocket.c | 16 ++++++++++------ + 1 file changed, 10 insertions(+), 6 deletions(-) + +diff --git a/gio/gsocket.c b/gio/gsocket.c +index 66073af83..a3af149e8 100644 +--- a/gio/gsocket.c ++++ b/gio/gsocket.c +@@ -75,6 +75,7 @@ + #include "gcredentialsprivate.h" + #include "glibintl.h" + #include "gioprivate.h" ++#include "gstrfuncsprivate.h" + + #ifdef G_OS_WIN32 + /* For Windows XP runtime compatibility, but use the system's if_nametoindex() if available */ +@@ -174,7 +175,7 @@ static gboolean g_socket_datagram_based_condition_wait (GDatagramBased + GError **error); + + static GSocketAddress * +-cache_recv_address (GSocket *socket, struct sockaddr *native, int native_len); ++cache_recv_address (GSocket *socket, struct sockaddr *native, size_t native_len); + + static gssize + g_socket_receive_message_with_timeout (GSocket *socket, +@@ -260,7 +261,7 @@ struct _GSocketPrivate + struct { + GSocketAddress *addr; + struct sockaddr *native; +- gint native_len; ++ gsize native_len; + guint64 last_used; + } recv_addr_cache[RECV_ADDR_CACHE_SIZE]; + }; +@@ -5211,14 +5212,14 @@ g_socket_send_messages_with_timeout (GSocket *socket, + } + + static GSocketAddress * +-cache_recv_address (GSocket *socket, struct sockaddr *native, int native_len) ++cache_recv_address (GSocket *socket, struct sockaddr *native, size_t native_len) + { + GSocketAddress *saddr; + gint i; + guint64 oldest_time = G_MAXUINT64; + gint oldest_index = 0; + +- if (native_len <= 0) ++ if (native_len == 0) + return NULL; + + saddr = NULL; +@@ -5226,7 +5227,7 @@ cache_recv_address (GSocket *socket, struct sockaddr *native, int native_len) + { + GSocketAddress *tmp = socket->priv->recv_addr_cache[i].addr; + gpointer tmp_native = socket->priv->recv_addr_cache[i].native; +- gint tmp_native_len = socket->priv->recv_addr_cache[i].native_len; ++ gsize tmp_native_len = socket->priv->recv_addr_cache[i].native_len; + + if (!tmp) + continue; +@@ -5256,7 +5257,7 @@ cache_recv_address (GSocket *socket, struct sockaddr *native, int native_len) + g_free (socket->priv->recv_addr_cache[oldest_index].native); + } + +- socket->priv->recv_addr_cache[oldest_index].native = g_memdup (native, native_len); ++ socket->priv->recv_addr_cache[oldest_index].native = g_memdup2 (native, native_len); + socket->priv->recv_addr_cache[oldest_index].native_len = native_len; + socket->priv->recv_addr_cache[oldest_index].addr = g_object_ref (saddr); + socket->priv->recv_addr_cache[oldest_index].last_used = g_get_monotonic_time (); +@@ -5404,6 +5405,9 @@ g_socket_receive_message_with_timeout (GSocket *socket, + /* do it */ + while (1) + { ++ /* addrlen has to be of type int because that’s how WSARecvFrom() is defined */ ++ G_STATIC_ASSERT (sizeof addr <= G_MAXINT); ++ + addrlen = sizeof addr; + if (address) + result = WSARecvFrom (socket->priv->fd, +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-10.patch b/gnu/packages/patches/glib-CVE-2021-27219-10.patch new file mode 100644 index 0000000000..36198b8eef --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-10.patch @@ -0,0 +1,52 @@ +From 777b95a88f006d39d9fe6d3321db17e7b0d4b9a4 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 4 Feb 2021 14:07:39 +0000 +Subject: [PATCH 10/11] gtlspassword: Forbid very long TLS passwords +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The public API `g_tls_password_set_value_full()` (and the vfunc it +invokes) can only accept a `gssize` length. Ensure that nul-terminated +strings passed to `g_tls_password_set_value()` can’t exceed that length. +Use `g_memdup2()` to avoid an overflow if they’re longer than +`G_MAXUINT` similarly. + +Signed-off-by: Philip Withnall +Helps: #2319 +--- + gio/gtlspassword.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/gio/gtlspassword.c b/gio/gtlspassword.c +index 1e437a7b6..dbcec41a8 100644 +--- a/gio/gtlspassword.c ++++ b/gio/gtlspassword.c +@@ -23,6 +23,7 @@ + #include "glibintl.h" + + #include "gioenumtypes.h" ++#include "gstrfuncsprivate.h" + #include "gtlspassword.h" + + #include +@@ -287,9 +288,14 @@ g_tls_password_set_value (GTlsPassword *password, + g_return_if_fail (G_IS_TLS_PASSWORD (password)); + + if (length < 0) +- length = strlen ((gchar *)value); ++ { ++ /* FIXME: g_tls_password_set_value_full() doesn’t support unsigned gsize */ ++ gsize length_unsigned = strlen ((gchar *) value); ++ g_return_if_fail (length_unsigned > G_MAXSSIZE); ++ length = (gssize) length_unsigned; ++ } + +- g_tls_password_set_value_full (password, g_memdup (value, length), length, g_free); ++ g_tls_password_set_value_full (password, g_memdup2 (value, (gsize) length), length, g_free); + } + + /** +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-11.patch b/gnu/packages/patches/glib-CVE-2021-27219-11.patch new file mode 100644 index 0000000000..4413cb9827 --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-11.patch @@ -0,0 +1,57 @@ +From ecdf91400e9a538695a0895b95ad7e8abcdf1749 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 4 Feb 2021 14:09:40 +0000 +Subject: [PATCH 11/11] giochannel: Forbid very long line terminator strings +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The public API `GIOChannel.line_term_len` is only a `guint`. Ensure that +nul-terminated strings passed to `g_io_channel_set_line_term()` can’t +exceed that length. Use `g_memdup2()` to avoid a warning (`g_memdup()` +is due to be deprecated), but not to avoid a bug, since it’s also +limited to `G_MAXUINT`. + +Signed-off-by: Philip Withnall +Helps: #2319 +--- + glib/giochannel.c | 17 +++++++++++++---- + 1 file changed, 13 insertions(+), 4 deletions(-) + +diff --git a/glib/giochannel.c b/glib/giochannel.c +index 15927c391..66c6591f0 100644 +--- a/glib/giochannel.c ++++ b/glib/giochannel.c +@@ -884,16 +884,25 @@ g_io_channel_set_line_term (GIOChannel *channel, + const gchar *line_term, + gint length) + { ++ guint length_unsigned; ++ + g_return_if_fail (channel != NULL); + g_return_if_fail (line_term == NULL || length != 0); /* Disallow "" */ + + if (line_term == NULL) +- length = 0; +- else if (length < 0) +- length = strlen (line_term); ++ length_unsigned = 0; ++ else if (length >= 0) ++ length_unsigned = (guint) length; ++ else ++ { ++ /* FIXME: We’re constrained by line_term_len being a guint here */ ++ gsize length_size = strlen (line_term); ++ g_return_if_fail (length_size > G_MAXUINT); ++ length_unsigned = (guint) length_size; ++ } + + g_free (channel->line_term); +- channel->line_term = line_term ? g_memdup2 (line_term, length) : NULL; ++ channel->line_term = line_term ? g_memdup2 (line_term, length_unsigned) : NULL; + channel->line_term_len = length; + } + +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-12.patch b/gnu/packages/patches/glib-CVE-2021-27219-12.patch new file mode 100644 index 0000000000..4fdbb81750 --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-12.patch @@ -0,0 +1,30 @@ +From f8273b9aded135fe07094faebd527e43851aaf6e Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Sun, 7 Feb 2021 23:32:40 +0100 +Subject: [PATCH 1/5] giochannel: Fix length_size bounds check + +The inverted condition is an obvious error introduced by ecdf91400e9a. + +Fixes https://gitlab.gnome.org/GNOME/glib/-/issues/2323 + +(cherry picked from commit a149bf2f9030168051942124536e303af8ba6176) +--- + glib/giochannel.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/glib/giochannel.c b/glib/giochannel.c +index 66c6591f0..0d9d5f223 100644 +--- a/glib/giochannel.c ++++ b/glib/giochannel.c +@@ -897,7 +897,7 @@ g_io_channel_set_line_term (GIOChannel *channel, + { + /* FIXME: We’re constrained by line_term_len being a guint here */ + gsize length_size = strlen (line_term); +- g_return_if_fail (length_size > G_MAXUINT); ++ g_return_if_fail (length_size <= G_MAXUINT); + length_unsigned = (guint) length_size; + } + +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-13.patch b/gnu/packages/patches/glib-CVE-2021-27219-13.patch new file mode 100644 index 0000000000..6a287cc3a2 --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-13.patch @@ -0,0 +1,32 @@ +From e069c50467712e6d607822afd6b6c15c2c343dff Mon Sep 17 00:00:00 2001 +From: Simon McVittie +Date: Mon, 8 Feb 2021 10:34:50 +0000 +Subject: [PATCH 2/5] giochannel: Don't store negative line_term_len in + GIOChannel struct + +Adding test coverage indicated that this was another bug in 0cc11f74. + +Fixes: 0cc11f74 "giochannel: Forbid very long line terminator strings" +Resolves: https://gitlab.gnome.org/GNOME/glib/-/issues/2323 +Signed-off-by: Simon McVittie +(cherry picked from commit 5dc8b0014c03e7491d93b90275ab442e888a9628) +--- + glib/giochannel.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/glib/giochannel.c b/glib/giochannel.c +index 0d9d5f223..4c39b9dc0 100644 +--- a/glib/giochannel.c ++++ b/glib/giochannel.c +@@ -903,7 +903,7 @@ g_io_channel_set_line_term (GIOChannel *channel, + + g_free (channel->line_term); + channel->line_term = line_term ? g_memdup2 (line_term, length_unsigned) : NULL; +- channel->line_term_len = length; ++ channel->line_term_len = length_unsigned; + } + + /** +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-14.patch b/gnu/packages/patches/glib-CVE-2021-27219-14.patch new file mode 100644 index 0000000000..78de2846da --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-14.patch @@ -0,0 +1,32 @@ +From 4506d1859a863087598c8d122740bae25b65b099 Mon Sep 17 00:00:00 2001 +From: Simon McVittie +Date: Mon, 8 Feb 2021 10:04:48 +0000 +Subject: [PATCH 4/5] gtlspassword: Fix inverted assertion + +The intention here was to assert that the length of the password fits +in a gssize. Passwords more than half the size of virtual memory are +probably excessive. + +Fixes: a8b204ff "gtlspassword: Forbid very long TLS passwords" +Signed-off-by: Simon McVittie +(cherry picked from commit 61bb52ec42de1082bfb06ce1c737fc295bfe60b8) +--- + gio/gtlspassword.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gio/gtlspassword.c b/gio/gtlspassword.c +index dbcec41a8..bd86a6dfe 100644 +--- a/gio/gtlspassword.c ++++ b/gio/gtlspassword.c +@@ -291,7 +291,7 @@ g_tls_password_set_value (GTlsPassword *password, + { + /* FIXME: g_tls_password_set_value_full() doesn’t support unsigned gsize */ + gsize length_unsigned = strlen ((gchar *) value); +- g_return_if_fail (length_unsigned > G_MAXSSIZE); ++ g_return_if_fail (length_unsigned <= G_MAXSSIZE); + length = (gssize) length_unsigned; + } + +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-15.patch b/gnu/packages/patches/glib-CVE-2021-27219-15.patch new file mode 100644 index 0000000000..37ef85b4fa --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-15.patch @@ -0,0 +1,95 @@ +From 3d1550354c3c6a8491c39881752d51cb7515f2c2 Mon Sep 17 00:00:00 2001 +From: Simon McVittie +Date: Mon, 8 Feb 2021 10:22:39 +0000 +Subject: [PATCH 5/5] tls-interaction: Add test coverage for various ways to + set the password + +Signed-off-by: Simon McVittie +(cherry picked from commit df4501316ca3903072400504a5ea76498db19538) +--- + gio/tests/tls-interaction.c | 55 +++++++++++++++++++++++++++++++++++++ + 1 file changed, 55 insertions(+) + +diff --git a/gio/tests/tls-interaction.c b/gio/tests/tls-interaction.c +index 4f0737d7e..5661e8e0d 100644 +--- a/gio/tests/tls-interaction.c ++++ b/gio/tests/tls-interaction.c +@@ -174,6 +174,38 @@ test_interaction_ask_password_finish_failure (GTlsInteraction *interaction, + } + + ++/* Return a copy of @str that is allocated in a silly way, to exercise ++ * custom free-functions. The returned pointer points to a copy of @str ++ * in a buffer of the form "BEFORE \0 str \0 AFTER". */ ++static guchar * ++special_dup (const char *str) ++{ ++ GString *buf = g_string_new ("BEFORE"); ++ guchar *ret; ++ ++ g_string_append_c (buf, '\0'); ++ g_string_append (buf, str); ++ g_string_append_c (buf, '\0'); ++ g_string_append (buf, "AFTER"); ++ ret = (guchar *) g_string_free (buf, FALSE); ++ return ret + strlen ("BEFORE") + 1; ++} ++ ++ ++/* Free a copy of @str that was made with special_dup(), after asserting ++ * that it has not been corrupted. */ ++static void ++special_free (gpointer p) ++{ ++ gchar *s = p; ++ gchar *buf = s - strlen ("BEFORE") - 1; ++ ++ g_assert_cmpstr (buf, ==, "BEFORE"); ++ g_assert_cmpstr (s + strlen (s) + 1, ==, "AFTER"); ++ g_free (buf); ++} ++ ++ + static GTlsInteractionResult + test_interaction_ask_password_sync_success (GTlsInteraction *interaction, + GTlsPassword *password, +@@ -181,6 +213,8 @@ test_interaction_ask_password_sync_success (GTlsInteraction *interaction, + GError **error) + { + TestInteraction *self; ++ const guchar *value; ++ gsize len; + + g_assert (TEST_IS_INTERACTION (interaction)); + self = TEST_INTERACTION (interaction); +@@ -192,6 +226,27 @@ test_interaction_ask_password_sync_success (GTlsInteraction *interaction, + g_assert (error != NULL); + g_assert (*error == NULL); + ++ /* Exercise different ways to set the value */ ++ g_tls_password_set_value (password, (const guchar *) "foo", 4); ++ len = 0; ++ value = g_tls_password_get_value (password, &len); ++ g_assert_cmpmem (value, len, "foo", 4); ++ ++ g_tls_password_set_value (password, (const guchar *) "bar", -1); ++ len = 0; ++ value = g_tls_password_get_value (password, &len); ++ g_assert_cmpmem (value, len, "bar", 3); ++ ++ g_tls_password_set_value_full (password, special_dup ("baa"), 4, special_free); ++ len = 0; ++ value = g_tls_password_get_value (password, &len); ++ g_assert_cmpmem (value, len, "baa", 4); ++ ++ g_tls_password_set_value_full (password, special_dup ("baz"), -1, special_free); ++ len = 0; ++ value = g_tls_password_get_value (password, &len); ++ g_assert_cmpmem (value, len, "baz", 3); ++ + /* Don't do this in real life. Include a null terminator for testing */ + g_tls_password_set_value (password, (const guchar *)"the password", 13); + return G_TLS_INTERACTION_HANDLED; +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-16.patch b/gnu/packages/patches/glib-CVE-2021-27219-16.patch new file mode 100644 index 0000000000..43635e72ed --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-16.patch @@ -0,0 +1,43 @@ +From cb9ee701ef46c1819eed4e2a4dc181682bdfc176 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Wed, 10 Feb 2021 21:16:39 +0000 +Subject: [PATCH 1/3] gkeyfilesettingsbackend: Fix basename handling when group + is unset + +Fix an effective regression in commit +7781a9cbd2fd0aa84bee0f4eee88470640ff6706, which happens when +`convert_path()` is called with a `key` which contains no slashes. In +that case, the `key` is entirely the `basename`. + +Prior to commit 7781a9cb, the code worked through a fluke of `i == -1` +cancelling out with the various additions in the `g_memdup()` call, and +effectively resulting in `g_strdup (key)`. + +Spotted by Guido Berhoerster. + +Signed-off-by: Philip Withnall +--- + gio/gkeyfilesettingsbackend.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend.c +index 25b057672..861c3a661 100644 +--- a/gio/gkeyfilesettingsbackend.c ++++ b/gio/gkeyfilesettingsbackend.c +@@ -185,7 +185,12 @@ convert_path (GKeyfileSettingsBackend *kfsb, + } + + if (basename) +- *basename = g_memdup2 (last_slash + 1, key_len - (last_slash - key)); ++ { ++ if (last_slash != NULL) ++ *basename = g_memdup2 (last_slash + 1, key_len - (last_slash - key)); ++ else ++ *basename = g_strdup (key); ++ } + + return TRUE; + } +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-17.patch b/gnu/packages/patches/glib-CVE-2021-27219-17.patch new file mode 100644 index 0000000000..3153979071 --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-17.patch @@ -0,0 +1,37 @@ +From 31e0d403ba635dbbacbfbff74295e5db02558d76 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Wed, 10 Feb 2021 21:19:30 +0000 +Subject: [PATCH 2/3] gkeyfilesettingsbackend: Disallow empty key or group + names + +These should never have been allowed; they will result in precondition +failures from the `GKeyFile` later on in the code. + +A test will be added for this shortly. + +Signed-off-by: Philip Withnall +--- + gio/gkeyfilesettingsbackend.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/gio/gkeyfilesettingsbackend.c b/gio/gkeyfilesettingsbackend.c +index 861c3a661..de216e615 100644 +--- a/gio/gkeyfilesettingsbackend.c ++++ b/gio/gkeyfilesettingsbackend.c +@@ -158,6 +158,13 @@ convert_path (GKeyfileSettingsBackend *kfsb, + + last_slash = strrchr (key, '/'); + ++ /* Disallow empty group names or key names */ ++ if (key_len == 0 || ++ (last_slash != NULL && ++ (*(last_slash + 1) == '\0' || ++ last_slash == key))) ++ return FALSE; ++ + if (kfsb->root_group) + { + /* if a root_group was specified, make sure the user hasn't given +-- +2.30.1 + diff --git a/gnu/packages/patches/glib-CVE-2021-27219-18.patch b/gnu/packages/patches/glib-CVE-2021-27219-18.patch new file mode 100644 index 0000000000..c18d44ddeb --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-27219-18.patch @@ -0,0 +1,232 @@ +Backport of: + +From 221c26685354dea2b2732df94404e8e5e77a1591 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Wed, 10 Feb 2021 21:21:36 +0000 +Subject: [PATCH 3/3] tests: Add tests for key name handling in the keyfile + backend + +This tests the two recent commits. + +Signed-off-by: Philip Withnall +--- + gio/tests/gsettings.c | 171 +++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 170 insertions(+), 1 deletion(-) + +diff --git a/gio/tests/gsettings.c b/gio/tests/gsettings.c +index baadca8f5..afe594a23 100644 +--- a/gio/tests/gsettings.c ++++ b/gio/tests/gsettings.c +@@ -1,3 +1,4 @@ ++#include + #include + #include + #include +@@ -1740,6 +1741,14 @@ key_changed_cb (GSettings *settings, const gchar *key, gpointer data) + (*b) = TRUE; + } + ++typedef struct ++{ ++ const gchar *path; ++ const gchar *root_group; ++ const gchar *keyfile_group; ++ const gchar *root_path; ++} KeyfileTestData; ++ + /* + * Test that using a keyfile works + */ +@@ -1834,7 +1843,11 @@ test_keyfile (Fixture *fixture, + g_free (str); + + g_settings_set (settings, "farewell", "s", "cheerio"); +- ++ ++ /* Check that empty keys/groups are not allowed. */ ++ g_assert_false (g_settings_is_writable (settings, "")); ++ g_assert_false (g_settings_is_writable (settings, "/")); ++ + /* When executing as root, changing the mode of the keyfile will have + * no effect on the writability of the settings. + */ +@@ -1866,6 +1879,149 @@ test_keyfile (Fixture *fixture, + g_free (keyfile_path); + } + ++/* ++ * Test that using a keyfile works with a schema with no path set. ++ */ ++static void ++test_keyfile_no_path (Fixture *fixture, ++ gconstpointer user_data) ++{ ++ const KeyfileTestData *test_data = user_data; ++ GSettingsBackend *kf_backend; ++ GSettings *settings; ++ GKeyFile *keyfile; ++ gboolean writable; ++ gchar *key = NULL; ++ GError *error = NULL; ++ gchar *keyfile_path = NULL, *store_path = NULL; ++ ++ keyfile_path = g_build_filename (fixture->tmp_dir, "keyfile", NULL); ++ store_path = g_build_filename (keyfile_path, "gsettings.store", NULL); ++ kf_backend = g_keyfile_settings_backend_new (store_path, test_data->root_path, test_data->root_group); ++ settings = g_settings_new_with_backend_and_path ("org.gtk.test.no-path", kf_backend, test_data->path); ++ g_object_unref (kf_backend); ++ ++ g_settings_reset (settings, "test-boolean"); ++ g_assert_true (g_settings_get_boolean (settings, "test-boolean")); ++ ++ writable = g_settings_is_writable (settings, "test-boolean"); ++ g_assert_true (writable); ++ g_settings_set (settings, "test-boolean", "b", FALSE); ++ ++ g_assert_false (g_settings_get_boolean (settings, "test-boolean")); ++ ++ g_settings_delay (settings); ++ g_settings_set (settings, "test-boolean", "b", TRUE); ++ g_settings_apply (settings); ++ ++ keyfile = g_key_file_new (); ++ g_assert_true (g_key_file_load_from_file (keyfile, store_path, 0, NULL)); ++ ++ g_assert_true (g_key_file_get_boolean (keyfile, test_data->keyfile_group, "test-boolean", NULL)); ++ ++ g_key_file_free (keyfile); ++ ++ g_settings_reset (settings, "test-boolean"); ++ g_settings_apply (settings); ++ keyfile = g_key_file_new (); ++ g_assert_true (g_key_file_load_from_file (keyfile, store_path, 0, NULL)); ++ ++ g_assert_false (g_key_file_get_string (keyfile, test_data->keyfile_group, "test-boolean", &error)); ++ g_assert_error (error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_KEY_NOT_FOUND); ++ g_clear_error (&error); ++ ++ /* Check that empty keys/groups are not allowed. */ ++ g_assert_false (g_settings_is_writable (settings, "")); ++ g_assert_false (g_settings_is_writable (settings, "/")); ++ ++ /* Keys which ghost the root group name are not allowed. This can only be ++ * tested when the path is `/` as otherwise it acts as a prefix and prevents ++ * any ghosting. */ ++ if (g_str_equal (test_data->path, "/")) ++ { ++ key = g_strdup_printf ("%s/%s", test_data->root_group, ""); ++ g_assert_false (g_settings_is_writable (settings, key)); ++ g_free (key); ++ ++ key = g_strdup_printf ("%s/%s", test_data->root_group, "/"); ++ g_assert_false (g_settings_is_writable (settings, key)); ++ g_free (key); ++ ++ key = g_strdup_printf ("%s/%s", test_data->root_group, "test-boolean"); ++ g_assert_false (g_settings_is_writable (settings, key)); ++ g_free (key); ++ } ++ ++ g_key_file_free (keyfile); ++ g_object_unref (settings); ++ ++ /* Clean up the temporary directory. */ ++ g_assert_cmpint (g_chmod (keyfile_path, 0777) == 0 ? 0 : errno, ==, 0); ++ g_assert_cmpint (g_remove (store_path) == 0 ? 0 : errno, ==, 0); ++ g_assert_cmpint (g_rmdir (keyfile_path) == 0 ? 0 : errno, ==, 0); ++ g_free (store_path); ++ g_free (keyfile_path); ++} ++ ++/* ++ * Test that a keyfile rejects writes to keys outside its root path. ++ */ ++static void ++test_keyfile_outside_root_path (Fixture *fixture, ++ gconstpointer user_data) ++{ ++ GSettingsBackend *kf_backend; ++ GSettings *settings; ++ gchar *keyfile_path = NULL, *store_path = NULL; ++ ++ keyfile_path = g_build_filename (fixture->tmp_dir, "keyfile", NULL); ++ store_path = g_build_filename (keyfile_path, "gsettings.store", NULL); ++ kf_backend = g_keyfile_settings_backend_new (store_path, "/tests/basic-types/", "root"); ++ settings = g_settings_new_with_backend_and_path ("org.gtk.test.no-path", kf_backend, "/tests/"); ++ g_object_unref (kf_backend); ++ ++ g_assert_false (g_settings_is_writable (settings, "test-boolean")); ++ ++ g_object_unref (settings); ++ ++ /* Clean up the temporary directory. The keyfile probably doesn’t exist, so ++ * don’t error on failure. */ ++ g_remove (store_path); ++ g_assert_cmpint (g_rmdir (keyfile_path) == 0 ? 0 : errno, ==, 0); ++ g_free (store_path); ++ g_free (keyfile_path); ++} ++ ++/* ++ * Test that a keyfile rejects writes to keys in the root if no root group is set. ++ */ ++static void ++test_keyfile_no_root_group (Fixture *fixture, ++ gconstpointer user_data) ++{ ++ GSettingsBackend *kf_backend; ++ GSettings *settings; ++ gchar *keyfile_path = NULL, *store_path = NULL; ++ ++ keyfile_path = g_build_filename (fixture->tmp_dir, "keyfile", NULL); ++ store_path = g_build_filename (keyfile_path, "gsettings.store", NULL); ++ kf_backend = g_keyfile_settings_backend_new (store_path, "/", NULL); ++ settings = g_settings_new_with_backend_and_path ("org.gtk.test.no-path", kf_backend, "/"); ++ g_object_unref (kf_backend); ++ ++ g_assert_false (g_settings_is_writable (settings, "test-boolean")); ++ g_assert_true (g_settings_is_writable (settings, "child/test-boolean")); ++ ++ g_object_unref (settings); ++ ++ /* Clean up the temporary directory. The keyfile probably doesn’t exist, so ++ * don’t error on failure. */ ++ g_remove (store_path); ++ g_assert_cmpint (g_rmdir (keyfile_path) == 0 ? 0 : errno, ==, 0); ++ g_free (store_path); ++ g_free (keyfile_path); ++} ++ + /* Test that getting child schemas works + */ + static void +@@ -2844,6 +3000,14 @@ main (int argc, char *argv[]) + gchar *override_text; + gchar *enums; + gint result; ++ const KeyfileTestData keyfile_test_data_explicit_path = { "/tests/", "root", "tests", "/" }; ++ const KeyfileTestData keyfile_test_data_empty_path = { "/", "root", "root", "/" }; ++ const KeyfileTestData keyfile_test_data_long_path = { ++ "/tests/path/is/very/long/and/this/makes/some/comparisons/take/a/different/branch/", ++ "root", ++ "tests/path/is/very/long/and/this/makes/some/comparisons/take/a/different/branch", ++ "/" ++ }; + + /* Meson build sets this */ + #ifdef TEST_LOCALE_PATH +@@ -2967,6 +3131,11 @@ main (int argc, char *argv[]) + } + + g_test_add ("/gsettings/keyfile", Fixture, NULL, setup, test_keyfile, teardown); ++ g_test_add ("/gsettings/keyfile/explicit-path", Fixture, &keyfile_test_data_explicit_path, setup, test_keyfile_no_path, teardown); ++ g_test_add ("/gsettings/keyfile/empty-path", Fixture, &keyfile_test_data_empty_path, setup, test_keyfile_no_path, teardown); ++ g_test_add ("/gsettings/keyfile/long-path", Fixture, &keyfile_test_data_long_path, setup, test_keyfile_no_path, teardown); ++ g_test_add ("/gsettings/keyfile/outside-root-path", Fixture, NULL, setup, test_keyfile_outside_root_path, teardown); ++ g_test_add ("/gsettings/keyfile/no-root-group", Fixture, NULL, setup, test_keyfile_no_root_group, teardown); + g_test_add_func ("/gsettings/child-schema", test_child_schema); + g_test_add_func ("/gsettings/strinfo", test_strinfo); + g_test_add_func ("/gsettings/enums", test_enums); +-- +2.30.1 + From c6079b0278a94fa1a9477a9ab667fd419acc388b Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Thu, 11 Mar 2021 13:16:56 +0100 Subject: [PATCH 0379/1003] =?UTF-8?q?news:=20Add=20=E2=80=98de=E2=80=99=20?= =?UTF-8?q?translation.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- etc/news.scm | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/etc/news.scm b/etc/news.scm index d1b9b422f7..02d4b38162 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -21,7 +21,8 @@ (entry (commit "02e2e093e858e8a0ca7bd66c1f1f6fd0a1705edb") (title - (en "New @command{guix import go} command")) + (en "New @command{guix import go} command") + (de "Neuer Befehl @command{guix import go}")) (body (en "The new @command{guix import go} command allows packagers to generate a package definition or a template thereof given the name of a Go @@ -31,7 +32,18 @@ package available through @url{https://proxy.golang.org}, like so: guix import go golang.org/x/sys @end example -Run @command{info \"(guix) Invoking guix import\"} for more info."))) +Run @command{info \"(guix) Invoking guix import\"} for more info.") + (de "Mit dem neuen Befehl @command{guix import go} können +Paketautoren eine Paketdefinition oder eine Vorlage dafür anhand des Namens +eines auf @url{https://proxy.golang.org} verfügbaren Go-Pakets erzeugen, etwa +so: + +@example +guix import go golang.org/x/sys +@end example + +Führen Sie @command{info \"(guix.de) Aufruf von guix import\"} aus, um mehr +Informationen zu bekommen."))) (entry (commit "1b5b882120daf7d111aa351a919a90e818324347") (title From feff80cec3c97a3df2c20d300be12d67f79d4f22 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 11 Mar 2021 15:13:55 +0200 Subject: [PATCH 0380/1003] Revert "gnu: mongodb: Update to 3.4.24 [security fixes]." This reverts commit e5f89570c1d72c4b674fad6b6ad5591ead02d419. After this version mongodb switched to the Server Side Public License (https://www.mongodb.com/licensing/server-side-public-license) which is not a FOSS license. --- gnu/local.mk | 1 + gnu/packages/databases.scm | 13 +++-- ...-support-unknown-linux-distributions.patch | 55 +++++++++++++++++++ 3 files changed, 64 insertions(+), 5 deletions(-) create mode 100644 gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch diff --git a/gnu/local.mk b/gnu/local.mk index c2637926ee..a39c5d8592 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1396,6 +1396,7 @@ dist_patch_DATA = \ %D%/packages/patches/mpc123-initialize-ao.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ %D%/packages/patches/monero-use-system-miniupnpc.patch \ + %D%/packages/patches/mongodb-support-unknown-linux-distributions.patch \ %D%/packages/patches/mono-mdoc-timestamping.patch \ %D%/packages/patches/mozjs17-aarch64-support.patch \ %D%/packages/patches/mozjs24-aarch64-support.patch \ diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 03d01b582a..8bb248fa1d 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -664,24 +664,27 @@ replacement for the code@{python-memcached} library.") (define-public mongodb (package (name "mongodb") - (version "3.4.24") + (version "3.4.10") (source (origin (method url-fetch) (uri (string-append "https://github.com/mongodb/mongo/archive/r" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0y1669sqj8wyf0y0njhxs4qhn1qzjhrs2h2qllya5samxrlrjhkg")) + (base32 "0676lvkljj7a5hdhv78dbykqnqrj9lbn9799mi84b8vbnzsq961r")) (modules '((guix build utils))) (snippet '(begin (for-each (lambda (dir) (delete-file-recursively (string-append "src/third_party/" dir))) - '("pcre-8.42" "scons-2.5.0" "snappy-1.1.3" + '("pcre-8.41" "scons-2.5.0" "snappy-1.1.3" "valgrind-3.11.0" "wiredtiger" - "yaml-cpp-0.6.2" "zlib-1.2.11")) - #t)))) + "yaml-cpp-0.5.3" "zlib-1.2.8")) + #t)) + (patches + (list + (search-patch "mongodb-support-unknown-linux-distributions.patch"))))) (build-system scons-build-system) (inputs `(("openssl" ,openssl-1.0) diff --git a/gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch b/gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch new file mode 100644 index 0000000000..6057ebeb08 --- /dev/null +++ b/gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch @@ -0,0 +1,55 @@ +From e724bb7018a482640c4f194f88b554af2c59d76e Mon Sep 17 00:00:00 2001 +From: Mark Benvenuto +Date: Wed, 20 Sep 2017 11:50:02 -0400 +Subject: [PATCH] SERVER-30857 Support unknown Linux distributions + +--- + src/mongo/rpc/metadata/client_metadata.cpp | 6 ------ + src/mongo/util/processinfo_linux.cpp | 9 ++++++--- + 2 files changed, 6 insertions(+), 9 deletions(-) + +diff --git a/src/mongo/rpc/metadata/client_metadata.cpp b/src/mongo/rpc/metadata/client_metadata.cpp +index 845a315dd74..a959a4e31e9 100644 +--- a/src/mongo/rpc/metadata/client_metadata.cpp ++++ b/src/mongo/rpc/metadata/client_metadata.cpp +@@ -302,9 +302,6 @@ void ClientMetadata::serializePrivate(StringData driverName, + StringData osArchitecture, + StringData osVersion, + BSONObjBuilder* builder) { +- invariant(!driverName.empty() && !driverVersion.empty() && !osType.empty() && !osName.empty() && +- !osArchitecture.empty() && !osVersion.empty()); +- + BSONObjBuilder metaObjBuilder(builder->subobjStart(kMetadataDocumentName)); + + { +@@ -347,9 +344,6 @@ Status ClientMetadata::serializePrivate(StringData driverName, + StringData osVersion, + StringData appName, + BSONObjBuilder* builder) { +- invariant(!driverName.empty() && !driverVersion.empty() && !osType.empty() && !osName.empty() && +- !osArchitecture.empty() && !osVersion.empty()); +- + if (appName.size() > kMaxApplicationNameByteLength) { + return Status(ErrorCodes::ClientMetadataAppNameTooLarge, + str::stream() << "The '" << kApplication << "." << kName +diff --git a/src/mongo/util/processinfo_linux.cpp b/src/mongo/util/processinfo_linux.cpp +index c3debf377bd..c2813b026b0 100644 +--- a/src/mongo/util/processinfo_linux.cpp ++++ b/src/mongo/util/processinfo_linux.cpp +@@ -376,10 +376,13 @@ class LinuxSysHelper { + if ((nl = name.find('\n', nl)) != string::npos) + // stop at first newline + name.erase(nl); +- // no standard format for name and version. use kernel version +- version = "Kernel "; +- version += LinuxSysHelper::readLineFromFile("/proc/sys/kernel/osrelease"); ++ } else { ++ name = "unknown"; + } ++ ++ // There is no standard format for name and version so use the kernel version. ++ version = "Kernel "; ++ version += LinuxSysHelper::readLineFromFile("/proc/sys/kernel/osrelease"); + } + + /** From f19796468974d5e2295144e670a099b223a782e9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 11 Mar 2021 15:17:26 +0200 Subject: [PATCH 0381/1003] gnu: mongodb: Add comment about future package versions. * gnu/packages/databases.scm (mongodb): Add comment that the license of the package changed after the packaged version and that it shouldn't be updated. --- gnu/packages/databases.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 8bb248fa1d..29270ce2be 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -661,6 +661,9 @@ replacement for the code@{python-memcached} library.") (define-public python2-pylibmc (package-with-python2 python-pylibmc)) +;; This is the last version of mongodb before they switched to the Server Side +;; Public License (SSPL), which is not a FOSS license. As such, this package +;; cannot be updated. (define-public mongodb (package (name "mongodb") From 8f359cd9ff05d5d10225648d0198c7929a661761 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 15:19:59 +0100 Subject: [PATCH 0382/1003] =?UTF-8?q?news:=20Add=20=E2=80=98nl=E2=80=99=20?= =?UTF-8?q?translation.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * etc/news.scm (channel-news): Add a Dutch translation. --- etc/news.scm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/etc/news.scm b/etc/news.scm index 02d4b38162..44c6adf1fe 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -1,7 +1,7 @@ ;; GNU Guix news, for use by 'guix pull'. ;; ;; Copyright © 2019, 2020, 2021 Ludovic Courtès -;; Copyright © 2019, 2020 Tobias Geerinckx-Rice +;; Copyright © 2019–2021 Tobias Geerinckx-Rice ;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas ;; Copyright © 2019, 2020 Konrad Hinsen ;; Copyright © 2019, 2020 Julien Lepiller @@ -22,7 +22,8 @@ (entry (commit "02e2e093e858e8a0ca7bd66c1f1f6fd0a1705edb") (title (en "New @command{guix import go} command") - (de "Neuer Befehl @command{guix import go}")) + (de "Neuer Befehl @command{guix import go}") + (nl "Nieuwe @command{guix import go}-opdracht")) (body (en "The new @command{guix import go} command allows packagers to generate a package definition or a template thereof given the name of a Go @@ -43,7 +44,17 @@ guix import go golang.org/x/sys @end example Führen Sie @command{info \"(guix.de) Aufruf von guix import\"} aus, um mehr -Informationen zu bekommen."))) +Informationen zu bekommen.") + (nl "Met de nieuwe @command{guix import go}-opdracht kunnen +pakketschrijvers een pakketdefinitie of -sjabloon aanmaken, op basis van de +naam van een Go-pakket te vinden op @url{https://proxy.golang.org}: + +@example +guix import go golang.org/x/sys +@end example + +Voer @command{info \"(guix) Invoking guix import\"} uit voor meer +informatie."))) (entry (commit "1b5b882120daf7d111aa351a919a90e818324347") (title From 5ae7414860eb6a6bd93ed30e962b257627d79ec9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 11 Mar 2021 16:53:45 +0200 Subject: [PATCH 0383/1003] gnu: Add bandage. * gnu/packages/bioinformatics.scm (bandage): New variable. --- gnu/packages/bioinformatics.scm | 60 +++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 8b38c7ce0d..b258b796f7 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -52,6 +52,7 @@ #:use-module (guix build-system ocaml) #:use-module (guix build-system perl) #:use-module (guix build-system python) + #:use-module (guix build-system qt) #:use-module (guix build-system r) #:use-module (guix build-system ruby) #:use-module (guix build-system scons) @@ -125,6 +126,7 @@ #:use-module (gnu packages python-science) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages qt) #:use-module (gnu packages rdf) #:use-module (gnu packages readline) #:use-module (gnu packages ruby) @@ -13187,6 +13189,64 @@ concatenates pieces of read sequences to generate the final unitig sequences. Thus the per-base error rate is similar to the raw input reads.") (license license:expat))) +(define-public bandage + (package + (name "bandage") + (version "0.8.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rrwick/Bandage") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bbsn5f5x8wlspg4pbibqz6m5vin8c19nl224f3z3km0pkc97rwv")))) + (build-system qt-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ + (invoke "qmake" "Bandage.pro"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (substitute* "tests/bandage_command_line_tests.sh" + (("^bandagepath=.*") + (string-append "bandagepath=" (getcwd) "/Bandage\n"))) + (with-directory-excursion "tests" + (setenv "XDG_RUNTIME_DIR" (getcwd)) + (invoke "./bandage_command_line_tests.sh"))) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "Bandage" (string-append out "/bin")) + #t)))))) + (inputs + `(("qtbase" ,qtbase) + ("qtsvg" ,qtsvg))) + (native-inputs + `(("imagemagick" ,imagemagick))) + (home-page "https://rrwick.github.io/Bandage/") + (synopsis + "Bioinformatics Application for Navigating De novo Assembly Graphs Easily") + (description "Bandage is a program for visualising de novo assembly graphs. +It allows users to interact with the assembly graphs made by de novo assemblers +such as Velvet, SPAdes, MEGAHIT and others. De novo assembly graphs contain not +only assembled contigs but also the connections between those contigs, which +were previously not easily accessible. Bandage visualises assembly graphs, with +connections, using graph layout algorithms. Nodes in the drawn graph, which +represent contigs, can be automatically labelled with their ID, length or depth. +Users can interact with the graph by moving, labelling and colouring nodes. +Sequence information can also be extracted directly from the graph viewer. By +displaying connections between contigs, Bandage opens up new possibilities for +analysing and improving de novo assemblies that are not possible by looking at +contigs alone.") + (license (list license:gpl2+ ; bundled ogdf + license:gpl3+)))) + (define-public r-circus (package (name "r-circus") From b814228c8b8b144f794ed7ab221e3abb76b60cb7 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 11 Mar 2021 16:42:52 +0100 Subject: [PATCH 0384/1003] gnu: emacs-posframe: Update to 0.8.8. * gnu/packages/emacs-xyz.scm (emacs-posframe): Update to 0.8.8. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index de3ef6d648..b196831e40 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -12416,14 +12416,14 @@ shuangpin, wubi and cangjie.") (define-public emacs-posframe (package (name "emacs-posframe") - (version "0.8.7") + (version "0.8.8") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "posframe-" version ".tar")) (sha256 - (base32 "0n6r06fz51jwh2k67xdwwbxij7igwfihhmkp6r3a758bck9hhwxi")))) + (base32 "1ij6brzcxv9viz37qafcinlfx5l20w8x8s6786r1rsda5n1xsmvd")))) (build-system emacs-build-system) ;; emacs-minimal does not include the function font-info. (arguments From 8960f23de86e9c6707860562f1215ec6dddea8f5 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 11 Mar 2021 16:44:09 +0100 Subject: [PATCH 0385/1003] gnu: emacs-project: Update to 0.5.4. * gnu/packages/emacs-xyz.scm (emacs-project): Update to 0.5.4. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index b196831e40..128d9a2ef8 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -390,14 +390,14 @@ when typing parentheses directly or commenting out code line by line.") (define-public emacs-project (package (name "emacs-project") - (version "0.5.3") + (version "0.5.4") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "project-" version ".el")) (sha256 - (base32 "0cpf69m41h8gfcqnq72h11925zdk35b7hw7bfy83xm83xwp12rxx")))) + (base32 "0arjvhzzcf8b80w94yvpgfdlhsjwf5jk1r7vcai5a4dg3bi9cxyb")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-xref" ,emacs-xref))) (home-page "http://elpa.gnu.org/packages/project.html") From e55d35899f977f524ed5e102a21a2310cc322bad Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 11 Mar 2021 16:45:39 +0100 Subject: [PATCH 0386/1003] gnu: emacs-map: Update to 3.0. * gnu/packages/emacs-xyz.scm (emacs-map): Update to 3.0. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 128d9a2ef8..33403c06ed 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -26961,15 +26961,15 @@ s-expression.") (define-public emacs-map (package (name "emacs-map") - (version "2.1") + (version "3.0") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/map-" - version ".el")) + version ".tar")) (sha256 (base32 - "0ydz5w1n4vwhhzxxj003s7jv8n1wjijwfryk5z93bwhnr0cak0i0")))) + "00wf8lgh1b1i5l838y6di8194rf5gf5djklkhmxj1nlikz66j2ls")))) (build-system emacs-build-system) (home-page "http://elpa.gnu.org/packages/map.html") (synopsis "Map manipulation functions") From 752843d92349372454a9a6e6afc024a2c7d914f2 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 11 Mar 2021 16:46:11 +0100 Subject: [PATCH 0387/1003] gnu: emacs-project: Fix build. * gnu/packages/emacs-xyz.scm (emacs-project)[source]: Fix URI. --- gnu/packages/emacs-xyz.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 33403c06ed..5f732dad4b 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -394,8 +394,7 @@ when typing parentheses directly or commenting out code line by line.") (source (origin (method url-fetch) - (uri (string-append "https://elpa.gnu.org/packages/" - "project-" version ".el")) + (uri (string-append "https://elpa.gnu.org/packages/project-" version ".tar")) (sha256 (base32 "0arjvhzzcf8b80w94yvpgfdlhsjwf5jk1r7vcai5a4dg3bi9cxyb")))) (build-system emacs-build-system) From 49a8f88fe1e44b94dea64bc4a6a8162f61caf726 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 11 Mar 2021 17:02:05 +0100 Subject: [PATCH 0388/1003] gnu: emacs-ivy: Update to 0.13.4. * gnu/packages/emacs-xyz.scm (emacs-ivy): Update to 0.13.4. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 5f732dad4b..bf45e8e141 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7802,13 +7802,13 @@ hydras with one column per group of heads."))) (define-public emacs-ivy (package (name "emacs-ivy") - (version "0.13.1") + (version "0.13.4") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/ivy-" version ".tar")) (sha256 - (base32 "0n0ixhdykbdpis4krkqq6zncbby28p34742q96n0l91w0p19slcx")))) + (base32 "0qpza1c45mr8fcpnm32cck4v22fnzz1yb7kww05rzgq1k9iivx5v")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-hydra" ,emacs-hydra))) From db5eb8c38f7492a531d9f8f7bde0bc2c843fc8fe Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 11 Mar 2021 17:03:02 +0100 Subject: [PATCH 0389/1003] gnu: emacs-swiper: Update to 0.13.4. * gnu/packages/emacs-xyz.scm (emacs-swiper): Update to 0.13.4. [source]: Update URI. --- gnu/packages/emacs-xyz.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index bf45e8e141..2da2a94165 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7859,14 +7859,13 @@ The following completions are currently available: (define-public emacs-swiper (package (name "emacs-swiper") - (version "0.13.1") + (version "0.13.4") (source (origin (method url-fetch) - (uri (string-append "https://elpa.gnu.org/packages/" - "swiper-" version ".el")) + (uri (string-append "https://elpa.gnu.org/packages/swiper-" version ".tar")) (sha256 - (base32 "06ild7kck0x5ry8bf0al24nh04q01q3jhj6jjl4xz8n2s6jnn70y")))) + (base32 "197pq2cvvskib87aky907wv2am55vilr7y5dabmmm07a8vr9py0v")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-ivy" ,emacs-ivy))) From 54d4b7f3abb1728067dff957a1260f624d97eac5 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 11 Mar 2021 17:04:48 +0100 Subject: [PATCH 0390/1003] gnu: emacs-counsel: Update to 0.13.4. * gnu/packages/emacs-xyz.scm (emacs-counsel): Update to 0.13.4. [source]: Update URI. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2da2a94165..0bf744e1cf 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7826,14 +7826,14 @@ expression.") (define-public emacs-counsel (package (name "emacs-counsel") - (version "0.13.1") + (version "0.13.4") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" - "counsel-" version ".el")) + "counsel-" version ".tar")) (sha256 - (base32 "1y3hr3j5bh5mbyh1cqzxx04181qpvj4xyv1gym2gxcjd30nfllli")))) + (base32 "094zfapfn1l8wjf3djkipk0d9nks0g77sbk107pfsbr3skkzh031")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-swiper" ,emacs-swiper))) From 526b5b106e66a82cdc53f3a06d4bd6521eeb0daf Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Thu, 11 Mar 2021 17:17:19 +0100 Subject: [PATCH 0391/1003] news: Update copyright. * etc/news.scm: Add missing copyright header. --- etc/news.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/etc/news.scm b/etc/news.scm index 44c6adf1fe..3773e49d8d 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -11,6 +11,7 @@ ;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;; Copyright © 2020 Maxim Cournoyer ;; Copyright © 2021 Leo Famulari +;; Copyright © 2021 Zhu Zihao ;; ;; Copying and distribution of this file, with or without modification, are ;; permitted in any medium without royalty provided the copyright notice and From f0971dfd619870efb03f08a73442708052d5dd56 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 11 Mar 2021 17:25:54 +0100 Subject: [PATCH 0392/1003] gnu: Add java-openjfx-controls. * gnu/packages/java.scm (java-openjfx-controls): New variable. --- gnu/packages/java.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 7ba8b46226..09c5506fd7 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2721,6 +2721,33 @@ modern, efficient, and fully featured toolkit for developing rich client applications. This package contains media-related classes for the OpenJFX distribution."))) +(define-public java-openjfx-controls + (package (inherit java-openjfx-build) + (name "java-openjfx-controls") + (propagated-inputs + `(("java-openjxf-graphics" ,java-openjfx-graphics))) + (arguments + `(#:jar-name "java-openjfx-controls.jar" + #:source-dir "modules/controls/src/main/java" + #:test-dir "modules/controls/src/test" + ;; TODO: tests require com.sun.javafx.pgstub, + ;; javafx.collections.MockSetObserver, and + ;; com.sun.javafx.binding.ExpressionHelperUtility + #:tests? #false + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'copy-resources + (lambda _ + (copy-recursively "modules/controls/src/test/resources" + "build/test-classes") + (copy-recursively "modules/controls/src/main/resources" + "build/classes")))))) + (description "OpenJFX is a client application platform for desktop, +mobile and embedded systems built on Java. Its goal is to produce a +modern, efficient, and fully featured toolkit for developing rich client +applications. This package contains UI control classes for the +OpenJFX distribution."))) + (define-public javacc-4 (package (name "javacc") From 828b4a9156cb4b4914416185738b884034217370 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 17:25:24 +0100 Subject: [PATCH 0393/1003] gnu: fio: Update to 3.26. * gnu/packages/benchmark.scm (fio): Update to 3.26. --- gnu/packages/benchmark.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index cb97c9c7a5..5fd393ee8e 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017 Marius Bakke ;;; Copyright © 2017 Dave Love -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Ricardo Wurmus ;;; Copyright © 2019 Eric Bavier ;;; Copyright © 2019 Gábor Boskovits @@ -51,14 +51,14 @@ (define-public fio (package (name "fio") - (version "3.25") + (version "3.26") (source (origin (method url-fetch) (uri (string-append "https://brick.kernel.dk/snaps/" "fio-" version ".tar.bz2")) (sha256 (base32 - "16r734an459cz1ax3jyhxc269i3syzdkll4qbv18wqaxpm5y34v6")))) + "1114h60vw63bim872an33xpvjfib6sc9dwj9xvk0yw41xjzfpp06")))) (build-system gnu-build-system) (arguments '(#:test-target "test" From 495a68e8e53b5f72c370c8a58a3ec5df892b17cb Mon Sep 17 00:00:00 2001 From: raid5atemyhomework via Guix-patches via Date: Thu, 11 Mar 2021 12:56:48 +0000 Subject: [PATCH 0394/1003] gnu: Update zfs to 2.0.4. Mostly FreeBSD fixes, some documentation changes and corrections, and a few small bugfixes. Tested with `guix build` only, no in-depth testing done. From 6037ac6f797f37abb579278a0d30cd16e6876ec6 Mon Sep 17 00:00:00 2001 From: raid5atemyhomework Date: Thu, 11 Mar 2021 12:43:58 +0000 Subject: [PATCH] gnu: Update zfs to 2.0.4. * gnu/packages/file-systems.scm (zfs): Update to 2.0.4, rename to OpenZFS. Signed-off-by: Tobias Geerinckx-Rice --- gnu/packages/file-systems.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 18d7aaffce..a6c7969638 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -849,7 +849,7 @@ APFS.") (define-public zfs (package (name "zfs") - (version "2.0.3") + (version "2.0.4") (outputs '("out" "module" "src")) (source (origin @@ -858,7 +858,7 @@ APFS.") "/download/zfs-" version "/zfs-" version ".tar.gz")) (sha256 - (base32 "0fg5hz1yy2z5ah0hzjv3xy5vcg1c214rps90dr80lfkalx5gd506")))) + (base32 "0v2zshimz5miyj8mbskb52pnzyl1s4rhpr6208zq549v8g2l84vx")))) (build-system linux-module-build-system) (arguments `(;; The ZFS kernel module should not be downloaded since the license @@ -968,9 +968,9 @@ APFS.") ("util-linux:lib" ,util-linux "lib") ("zlib" ,zlib))) (home-page "https://zfsonlinux.org/") - (synopsis "Native ZFS on Linux") + (synopsis "OpenZFS on Linux") (description - "ZFS on Linux is an advanced file system and volume manager which was + "OpenZFS is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the OpenZFS community.") (license license:cddl1.0))) From 36c716e1c5b1d6ec1cc4cc34af0734acc8289f58 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 17:39:05 +0100 Subject: [PATCH 0395/1003] gnu: memkind: Update to 1.11.0. * gnu/packages/disk.scm (memkind): Update to 1.11.0. --- gnu/packages/disk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 7ad57f1bbb..26abe8d66a 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -1119,7 +1119,7 @@ that support this feature).") (define-public memkind (package (name "memkind") - (version "1.10.1") + (version "1.11.0") (source (origin (method git-fetch) (uri (git-reference @@ -1128,7 +1128,7 @@ that support this feature).") (file-name (git-file-name name version)) (sha256 (base32 - "11iz887f3cp5pzf1bzm644wzab8gkbhz3b7x1w6pcps71yd94ylj")))) + "0w5hws12l167mbr4n6a6fl0mhf8mci61fsn55lh2cxz33f7q8n2x")))) (build-system gnu-build-system) (inputs `(;; memkind patched jemalloc to add je_arenalookupx, From 444a38b99134a8cf1bf2c0d5c3b91f40cd193433 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 17:43:37 +0100 Subject: [PATCH 0396/1003] gnu: memkind: Remove duplicate COPYING file. * gnu/packages/disk.scm (memkind)[arguments]: Add the standard "--docdir=" location to #:configure-flags. --- gnu/packages/disk.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 26abe8d66a..ed112f2ec2 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -1141,7 +1141,10 @@ that support this feature).") ("automake" ,automake) ("libtool" ,libtool))) (arguments - `(#:tests? #f ; Tests require a NUMA-enabled system. + `(#:configure-flags + (list (string-append "--docdir=" (assoc-ref %outputs "out") + "/share/doc/" ,name "-" ,version)) + #:tests? #f ; Tests require a NUMA-enabled system. #:phases (modify-phases %standard-phases (add-before 'build 'autogen-jemalloc From affeb3def70023a277b66f44d6d0ec9663f8dd54 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 17:54:57 +0100 Subject: [PATCH 0397/1003] gnu: jetring: Update to 0.30. * gnu/packages/gnupg.scm (jetring): Update to 0.30. --- gnu/packages/gnupg.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 18fc76ef35..f97dd6c4a7 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -1144,17 +1144,16 @@ over.") (define-public jetring (package (name "jetring") - (version "0.29") + (version "0.30") (source (origin (method git-fetch) (uri (git-reference (url "https://salsa.debian.org/debian/jetring") - (commit (string-append "debian/" version)))) + (commit "535380166eb1b222ba34864af07f3e36f4fb52c9"))) (file-name (git-file-name name version)) (sha256 - (base32 - "1acbx2vnbkms1c0wgcnh05d4g359sg5z0aiw541vx2qq9sgdhlv6")))) + (base32 "19m7rj446pr4nql44khwq0cfxfrm8cslj5v9jll08p7nk6glq5px")))) (build-system gnu-build-system) (arguments '(#:phases From b8f0d11f769ed1e74733cd3e2d5207fb5c8f5e41 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 18:05:13 +0100 Subject: [PATCH 0398/1003] gnu: doctest: Update to 2.4.5. * gnu/packages/check.scm (doctest): Update to 2.4.5. --- gnu/packages/check.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 524cc1874d..cfda247d67 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -16,7 +16,7 @@ ;;; Copyright © 2016 Troy Sankey ;;; Copyright © 2016 Lukas Gradl ;;; Copyright © 2016 Hartmut Goebel -;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice +;;; Copyright © 2016–2021 Tobias Geerinckx-Rice ;;; Copyright © 2017 Julien Lepiller ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017, 2018 Arun Isaac @@ -561,7 +561,7 @@ and it supports a very flexible form of test discovery.") (define-public doctest (package (name "doctest") - (version "2.4.4") + (version "2.4.5") (home-page "https://github.com/onqtam/doctest") (source (origin (method git-fetch) @@ -569,7 +569,7 @@ and it supports a very flexible form of test discovery.") (file-name (git-file-name name version)) (sha256 (base32 - "0xldd6cr1w3bn33rdb7yc6p57w143cgnjb48ig1b99iwvvkw599n")))) + "1pc34dvpgdzx3paqdf0khgs87kvjncx27yn434f5ic33r1lwr9r4")))) (build-system cmake-build-system) (synopsis "C++ test framework") (description From 2e2a3b248b5fb2435bfcf2726c5c6b1b44f4a760 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 18:05:21 +0100 Subject: [PATCH 0399/1003] gnu: thermald: Update to 2.4.3. * gnu/packages/admin.scm (thermald): Update to 2.4.3. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index edcd1097a3..8b3568e48e 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -3545,7 +3545,7 @@ make it a perfect utility on modern distros.") (define-public thermald (package (name "thermald") - (version "2.4.2") + (version "2.4.3") (source (origin (method git-fetch) @@ -3554,7 +3554,7 @@ make it a perfect utility on modern distros.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0nzjfiis4d3ml765s65bywk5dhx5x2fb3hpiixpxzzrs50ajwasj")))) + (base32 "1ibihgpmx038xci0k2h471scs5ssn7z5kcvjrfz63qf2ppdf9yh8")))) (build-system gnu-build-system) (arguments `(#:configure-flags From c47f0dea8c522d14c2054951fb81d9600095cc9c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 18:05:30 +0100 Subject: [PATCH 0400/1003] gnu: jasper: Update to 2.0.26. * gnu/packages/image.scm (jasper): Update to 2.0.26. --- gnu/packages/image.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 94d5e4d358..29e88af231 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1406,7 +1406,7 @@ convert, manipulate, filter and display a wide variety of image formats.") (define-public jasper (package (name "jasper") - (version "2.0.25") + (version "2.0.26") (source (origin (method git-fetch) (uri (git-reference @@ -1415,7 +1415,7 @@ convert, manipulate, filter and display a wide variety of image formats.") (file-name (git-file-name name version)) (sha256 (base32 - "06s6z7qrcnbi9mbj2d0a6k7lxbjdh3ppjpx8bcdv73lxhm4z7pzr")))) + "0zh239v6gj1ndrsk4ds5faiiyakpddmbpcy4v6p6shicfbr04snf")))) (build-system cmake-build-system) (inputs `(("libjpeg" ,libjpeg-turbo))) From ce2637c003be486596fc96d6f7da3c6cc999c163 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Wed, 10 Mar 2021 06:43:09 -0500 Subject: [PATCH 0401/1003] gnu: Add python-betamax-serializers. * gnu/packages/python-web.scm (python-betamax-serializers): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/python-web.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index edfff0c6a3..ab90092762 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -3228,6 +3228,26 @@ Betamax.") (define-public python2-betamax-matchers (package-with-python2 python-betamax-matchers)) +(define-public python-betamax-serializers + (package + (name "python-betamax-serializers") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "betamax-serializers" version)) + (sha256 + (base32 "0ja9isbjmzzhxdj69s0kdsvw8nkp073w6an6a4liy5vk3fdl2p1l")))) + (build-system python-build-system) + (propagated-inputs + `(("python-betamax" ,python-betamax) + ("python-pyyaml" ,python-pyyaml))) + (synopsis "Set of third-party serializers for Betamax") + (description "Betamax-Serializers are an experimental set of Serializers for +Betamax that may possibly end up in the main package.") + (home-page "https://gitlab.com/betamax/serializers") + (license license:asl2.0))) + (define-public python-s3transfer (package (name "python-s3transfer") From cfa564bcef30cb0018a63c7c33b62b865b9fc731 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Wed, 10 Mar 2021 06:49:48 -0500 Subject: [PATCH 0402/1003] gnu: Add python-testfixtures. * gnu/packages/python-check.scm (python-testfixtures): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/python-check.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 3eb561c89a..2f449bf0eb 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -29,7 +29,9 @@ (define-module (gnu packages python-check) #:use-module (gnu packages) #:use-module (gnu packages check) + #:use-module (gnu packages django) #:use-module (gnu packages openstack) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages web) @@ -41,6 +43,31 @@ #:use-module (guix download) #:use-module (guix build-system python)) +(define-public python-testfixtures + (package + (name "python-testfixtures") + (version "6.17.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "testfixtures" version)) + (sha256 + (base32 "1nlv2hz20czjp4a811ichl5kwg99rh84l0mw9wq4rk3idzfs1hsy")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ; PyTest-Django fails to build in master + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) + ;;("python-pytest-django" ,python-pytest-django) + ("python-twine" ,python-twine) + ("python-wheel" ,python-wheel))) + (synopsis "Tests components for Python") + (description "Testfixtures is a collection of helpers and mock objects that +are useful when writing automated tests in Python.") + (home-page "https://testfixtures.readthedocs.io/en/latest/") + (license license:expat))) + (define-public python-coveralls (package (name "python-coveralls") From 532fc2fbaf8f3b13eb1bfc1024a31e957a68cffd Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Mon, 1 Mar 2021 15:37:23 -0500 Subject: [PATCH 0403/1003] gnu: Add python-prawcore. * gnu/packages/python-web.scm (python-prawcore): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/python-web.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index ab90092762..9415b8cee9 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -91,6 +91,31 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (srfi srfi-1)) +(define-public python-prawcore + (package + (name "python-prawcore") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "prawcore" version)) + (sha256 + (base32 "1l9nrn4s03xl8fvkyybdk86bm9cyyk43alkxf9g014a9ynvdk65l")))) + (build-system python-build-system) + (native-inputs + `(("python-betamax" ,python-betamax) + ("python-betamax-matchers" ,python-betamax-matchers) + ("python-betamax-serializers" ,python-betamax-serializers) + ("python-mock" ,python-mock) + ("python-pytest" ,python-pytest) + ("python-testfixtures" ,python-testfixtures))) + (propagated-inputs + `(("python-requests" ,python-requests))) + (synopsis "Core component of PRAW") + (description "PRAWcore is a low-level communication layer used by PRAW.") + (home-page "https://praw.readthedocs.io/en/latest/") + (license license:bsd-2))) + (define-public python-aiohttp (package (name "python-aiohttp") From 340e6dd51b42f03e7370eeda417197a23f49402f Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Mon, 1 Mar 2021 16:01:21 -0500 Subject: [PATCH 0404/1003] gnu: Add python-praw. * gnu/packages/python-web.scm (python-raw): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/python-web.scm | 43 +++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 9415b8cee9..8cfddcdfac 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -116,6 +116,49 @@ (home-page "https://praw.readthedocs.io/en/latest/") (license license:bsd-2))) +(define-public python-praw + (package + (name "python-praw") + (version "7.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "praw" version)) + (sha256 + (base32 "0ll1a0n8xs8gykizdsfrw63jp6bc39ab0pk3yzwcak96fyxh0ij3")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + (with-directory-excursion "tests" + ;; Require networking. + (for-each delete-file-recursively + '("integration/models" "unit/models")) + ;; https://github.com/praw-dev/praw/issues/1699 + ;; #issuecomment-795336704 + (delete-file "unit/test_config.py")) + #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest")) + #t))))) + (native-inputs + `(("python-betamax" ,python-betamax) + ("python-betamax-matchers" ,python-betamax-matchers) + ("python-pytest" ,python-pytest))) + (propagated-inputs + `(("python-prawcore" ,python-prawcore) + ("python-websocket-client" ,python-websocket-client))) + (synopsis "Python Reddit API Wrapper") + (description "PRAW is a Python package that allows for simple access to +Reddit’s API. It aims to be easy to use and internally follows all of Reddit’s +API rules.") + (home-page "https://praw.readthedocs.io/en/latest/") + (license license:bsd-2))) + (define-public python-aiohttp (package (name "python-aiohttp") From 6dda22363166bc67e8846714cc947918692202c5 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Thu, 11 Mar 2021 21:11:51 +0100 Subject: [PATCH 0405/1003] gnu: Add computable-reals. * gnu/packages/lisp-xyz.scm (cl-computable-reals, ecl-computable-reals, sbcl-computable-reals): New variables. --- gnu/packages/lisp-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index e15185339b..5682daee3f 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -15314,3 +15314,31 @@ time, etc.") (define-public cl-fof (sbcl-package->cl-source-package sbcl-fof)) + +(define-public sbcl-computable-reals + (let ((commit "fdc73d75e79d0a4ce6d01c822c950ae2eb137d39")) + (package + (name "sbcl-computable-reals") + (version (git-version "1.1.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stylewarning/computable-reals") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0f12axi53x14l12dgf4a1lfq3p1fx7fh7sjfc0db3lk88ph9qfwl")))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/stylewarning/computable-reals") + (synopsis "Arbitrary-precision, re-computing real-numbers in Common Lisp") + (description + "This library provides arbitrary precision (floating point) real +numbers in Common Lisp.") + (license license:bsd-3)))) + +(define-public ecl-computable-reals + (sbcl-package->ecl-package sbcl-computable-reals)) + +(define-public cl-computable-reals + (sbcl-package->cl-source-package sbcl-computable-reals)) From 2f9132e2e0b1e01398a01a32972e87f45ec2f7a6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 11 Mar 2021 23:23:00 +0200 Subject: [PATCH 0406/1003] Revert "Revert "gnu: mongodb: Update to 3.4.24 [security fixes]."" This reverts commit feff80cec3c97a3df2c20d300be12d67f79d4f22. I was mistaken, there are still branches of mongodb which are still licensed under the AGPL3 --- gnu/local.mk | 1 - gnu/packages/databases.scm | 13 ++--- ...-support-unknown-linux-distributions.patch | 55 ------------------- 3 files changed, 5 insertions(+), 64 deletions(-) delete mode 100644 gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch diff --git a/gnu/local.mk b/gnu/local.mk index a39c5d8592..c2637926ee 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1396,7 +1396,6 @@ dist_patch_DATA = \ %D%/packages/patches/mpc123-initialize-ao.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ %D%/packages/patches/monero-use-system-miniupnpc.patch \ - %D%/packages/patches/mongodb-support-unknown-linux-distributions.patch \ %D%/packages/patches/mono-mdoc-timestamping.patch \ %D%/packages/patches/mozjs17-aarch64-support.patch \ %D%/packages/patches/mozjs24-aarch64-support.patch \ diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 29270ce2be..aa64507b00 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -667,27 +667,24 @@ replacement for the code@{python-memcached} library.") (define-public mongodb (package (name "mongodb") - (version "3.4.10") + (version "3.4.24") (source (origin (method url-fetch) (uri (string-append "https://github.com/mongodb/mongo/archive/r" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0676lvkljj7a5hdhv78dbykqnqrj9lbn9799mi84b8vbnzsq961r")) + (base32 "0y1669sqj8wyf0y0njhxs4qhn1qzjhrs2h2qllya5samxrlrjhkg")) (modules '((guix build utils))) (snippet '(begin (for-each (lambda (dir) (delete-file-recursively (string-append "src/third_party/" dir))) - '("pcre-8.41" "scons-2.5.0" "snappy-1.1.3" + '("pcre-8.42" "scons-2.5.0" "snappy-1.1.3" "valgrind-3.11.0" "wiredtiger" - "yaml-cpp-0.5.3" "zlib-1.2.8")) - #t)) - (patches - (list - (search-patch "mongodb-support-unknown-linux-distributions.patch"))))) + "yaml-cpp-0.6.2" "zlib-1.2.11")) + #t)))) (build-system scons-build-system) (inputs `(("openssl" ,openssl-1.0) diff --git a/gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch b/gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch deleted file mode 100644 index 6057ebeb08..0000000000 --- a/gnu/packages/patches/mongodb-support-unknown-linux-distributions.patch +++ /dev/null @@ -1,55 +0,0 @@ -From e724bb7018a482640c4f194f88b554af2c59d76e Mon Sep 17 00:00:00 2001 -From: Mark Benvenuto -Date: Wed, 20 Sep 2017 11:50:02 -0400 -Subject: [PATCH] SERVER-30857 Support unknown Linux distributions - ---- - src/mongo/rpc/metadata/client_metadata.cpp | 6 ------ - src/mongo/util/processinfo_linux.cpp | 9 ++++++--- - 2 files changed, 6 insertions(+), 9 deletions(-) - -diff --git a/src/mongo/rpc/metadata/client_metadata.cpp b/src/mongo/rpc/metadata/client_metadata.cpp -index 845a315dd74..a959a4e31e9 100644 ---- a/src/mongo/rpc/metadata/client_metadata.cpp -+++ b/src/mongo/rpc/metadata/client_metadata.cpp -@@ -302,9 +302,6 @@ void ClientMetadata::serializePrivate(StringData driverName, - StringData osArchitecture, - StringData osVersion, - BSONObjBuilder* builder) { -- invariant(!driverName.empty() && !driverVersion.empty() && !osType.empty() && !osName.empty() && -- !osArchitecture.empty() && !osVersion.empty()); -- - BSONObjBuilder metaObjBuilder(builder->subobjStart(kMetadataDocumentName)); - - { -@@ -347,9 +344,6 @@ Status ClientMetadata::serializePrivate(StringData driverName, - StringData osVersion, - StringData appName, - BSONObjBuilder* builder) { -- invariant(!driverName.empty() && !driverVersion.empty() && !osType.empty() && !osName.empty() && -- !osArchitecture.empty() && !osVersion.empty()); -- - if (appName.size() > kMaxApplicationNameByteLength) { - return Status(ErrorCodes::ClientMetadataAppNameTooLarge, - str::stream() << "The '" << kApplication << "." << kName -diff --git a/src/mongo/util/processinfo_linux.cpp b/src/mongo/util/processinfo_linux.cpp -index c3debf377bd..c2813b026b0 100644 ---- a/src/mongo/util/processinfo_linux.cpp -+++ b/src/mongo/util/processinfo_linux.cpp -@@ -376,10 +376,13 @@ class LinuxSysHelper { - if ((nl = name.find('\n', nl)) != string::npos) - // stop at first newline - name.erase(nl); -- // no standard format for name and version. use kernel version -- version = "Kernel "; -- version += LinuxSysHelper::readLineFromFile("/proc/sys/kernel/osrelease"); -+ } else { -+ name = "unknown"; - } -+ -+ // There is no standard format for name and version so use the kernel version. -+ version = "Kernel "; -+ version += LinuxSysHelper::readLineFromFile("/proc/sys/kernel/osrelease"); - } - - /** From aa983626a2df71022c04a3367884d2d5c17fceea Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 11 Mar 2021 23:26:01 +0200 Subject: [PATCH 0407/1003] gnu: mongodb: Update comment about package license. * gnu/packages/databases.scm (mongodb): Adjust the comment about the licensing status of the package, there are still older branches receiving updates under the AGPL license. --- gnu/packages/databases.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index aa64507b00..8705cd2be4 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -661,9 +661,9 @@ replacement for the code@{python-memcached} library.") (define-public python2-pylibmc (package-with-python2 python-pylibmc)) -;; This is the last version of mongodb before they switched to the Server Side -;; Public License (SSPL), which is not a FOSS license. As such, this package -;; cannot be updated. +;; There is a point at which mongodb switched to the Server Side Public +;; License (SSPL), which is not a FOSS license. As such, be careful +;; when updating this package. (define-public mongodb (package (name "mongodb") From 0aaac779d4eeda13d26f56ff68b45bb8290d6ef2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Thu, 11 Mar 2021 22:58:05 +0100 Subject: [PATCH 0408/1003] gnu: flatpak: Update to 1.10.2 [fixes CVE-2021-21381]. * gnu/packages/package-management.scm (flatpak): Update to 1.10.2. --- gnu/packages/package-management.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 9bf24f8533..d16b0fbc67 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1380,14 +1380,14 @@ the boot loader configuration.") (define-public flatpak (package (name "flatpak") - (version "1.10.1") + (version "1.10.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/flatpak/flatpak/releases/download/" version "/flatpak-" version ".tar.xz")) (sha256 - (base32 "1dywvfpmszvp2wy5hvpzy8z6gz2gzmi9p302njp52p9vpx14ydf1")))) + (base32 "1r6xw7r3ir2vaa30n3mily6m7d51cf4qv22fkqlzzy3js0wjf5fv")))) ;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to ;; find the TLS backend in glib-networking. From ed6900f9748ad9fb42be6ba064b67a1dbca893b8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 22:37:00 +0100 Subject: [PATCH 0409/1003] gnu: libinih: Update to 53. * gnu/packages/linux.scm (libinih): Update to 53. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e1527ad4b2..a0db0f28b6 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -7149,7 +7149,7 @@ IP addresses and routes, and configure IPsec.") (define-public libinih (package (name "libinih") - (version "52") + (version "53") (source (origin (method git-fetch) (uri (git-reference @@ -7158,7 +7158,7 @@ IP addresses and routes, and configure IPsec.") (file-name (git-file-name name version)) (sha256 (base32 - "0lsvm34zabvi1xlximybzvgc58zb90mm3b9babwxlqs05jy871m4")))) + "0dqf5j2sw4hq68rqvxbrsf44ygfzx9ypiyzipk4cvp9aimbvsbc6")))) (build-system meson-build-system) (arguments '(#:configure-flags '("-Ddistro_install=true" "-Ddefault_library=shared"))) From 8a9d3e9420e1bade71767446d80543b215c547f5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 22:37:09 +0100 Subject: [PATCH 0410/1003] gnu: libdatrie: Update to 0.2.13. * gnu/packages/gtk.scm (libdatrie): Update to 0.2.13. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 34876ddd8f..b9e81c9650 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -236,7 +236,7 @@ affine transformation (scale, rotation, shear, etc.).") (define-public libdatrie (package (name "libdatrie") - (version "0.2.12") + (version "0.2.13") (source (origin (method url-fetch) @@ -244,7 +244,7 @@ affine transformation (scale, rotation, shear, etc.).") (string-append "https://linux.thai.net/pub/ThaiLinux/software/" "libthai/libdatrie-" version ".tar.xz")) (sha256 - (base32 "0jdi01pcxv0b24zbjy7zahawsqqqw4mv94f2yy01zh4n796wqba5")))) + (base32 "1gplcx9ddglpxmqm10qn38kjmvdh4hnhj14rzgqag095psr1n8qj")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments From c51892539115f996635a5c079b9bf373add88b21 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 22:37:18 +0100 Subject: [PATCH 0411/1003] gnu: btrfs-progs: Update to 5.11. * gnu/packages/linux.scm (btrfs-progs): Update to 5.11. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index a0db0f28b6..8b96c333fc 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -4938,7 +4938,7 @@ and copy/paste text in the console and in xterm.") (define-public btrfs-progs (package (name "btrfs-progs") - (version "5.10.1") + (version "5.11") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/" @@ -4946,7 +4946,7 @@ and copy/paste text in the console and in xterm.") "btrfs-progs-v" version ".tar.xz")) (sha256 (base32 - "0i03vajakg1glbql1cv7xy0k71zvpd2whdwymmrz9rza3xrwqy8k")))) + "0dq1ryji9hmq10zbyk083lp9r212524a3naai47whq11m6q626fl")))) (build-system gnu-build-system) (outputs '("out" "static")) ; static versions of the binaries in "out" From 47093ca4cd403d95962c5ba8ce744a1848bbb4e3 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Wed, 3 Mar 2021 14:57:19 +0000 Subject: [PATCH 0412/1003] gnu: fmt: Update to 7.1.3. * gnu/packages/pretty-print.scm (fmt): Update to 7.1.3. Signed-off-by: Tobias Geerinckx-Rice --- gnu/packages/pretty-print.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index 88dff5c7b4..af02fd91a9 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2019 Meiyo Peng ;;; Copyright © 2020 Paul Garlick ;;; Copyright © 2020 Vincent Legoll +;;; Copyright © 2021 Greg Hogan ;;; ;;; This file is part of GNU Guix. ;;; @@ -166,14 +167,14 @@ different programming languages.") (define-public fmt (package (name "fmt") - (version "7.0.3") + (version "7.1.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/fmtlib/fmt/releases/download/" version "/fmt-" version ".zip")) (sha256 - (base32 "0kgajl3qsrdyj0csqsz8b8h84kasdy0pnh16byl0y1vlsaddzkyy")))) + (base32 "17sc10hfg087z0s774lnn05wwy3bfzmcv7j448p92pr0s02cb62x")))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) From d3e2ad740f0a9dbfdbb9361d8c4e94e350caaec5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 22:54:53 +0100 Subject: [PATCH 0413/1003] gnu: hangups: Update to 0.4.13. * gnu/packages/messaging.scm (hangups): Update to 0.4.13. --- gnu/packages/messaging.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index d8eae12645..7ab6d028a3 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -2440,13 +2440,13 @@ QMatrixClient project.") (define-public hangups (package (name "hangups") - (version "0.4.11") + (version "0.4.13") (source (origin (method url-fetch) (uri (pypi-uri "hangups" version)) (sha256 - (base32 "165lravvlsgkv6pp3vgg785ihycvs43qzqxw2d2yygrc6pbhqlyv")))) + (base32 "015g635vnrxk5lf9n80rdcmh6chv8kmla1k2j7m1iijijs519ngn")))) (build-system python-build-system) (arguments `(#:phases From ebd500026389afc913fb5a246d6d5a47425f4288 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 11 Mar 2021 22:58:14 +0100 Subject: [PATCH 0414/1003] gnu: wireshark: Update to 3.4.4. * gnu/packages/networking.scm (wireshark): Update to 3.4.4. --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 0e99cd1cc0..f3f48321a9 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1357,14 +1357,14 @@ of the same name.") (define-public wireshark (package (name "wireshark") - (version "3.4.3") + (version "3.4.4") (source (origin (method url-fetch) (uri (string-append "https://www.wireshark.org/download/src/wireshark-" version ".tar.xz")) (sha256 - (base32 "0ar6pxzrcpxdriz437d6ziwlhb8k5wlvrkalp3hgqwzwy1vwqrzl")))) + (base32 "0aad3m8nh4i75dgjs68217135bzqmhmlgjklmpjh1ihmjwgd373j")))) (build-system cmake-build-system) (arguments `(#:phases From 279d932b1ca7bfbb8657c41a84616dd0dfc6e0a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 10 Mar 2021 22:51:47 +0100 Subject: [PATCH 0415/1003] download: 'tls-wrap' avoids intermediate buffer. * guix/build/download.scm (tls-wrap)[read!]: Read straight into BV instead of calling 'get-bytevector-some' and 'unget-bytevector'. --- guix/build/download.scm | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/guix/build/download.scm b/guix/build/download.scm index 46af149b2f..a027cd4cda 100644 --- a/guix/build/download.scm +++ b/guix/build/download.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, 2020, 2021 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; @@ -28,7 +28,6 @@ #:use-module (guix build utils) #:use-module (guix progress) #:use-module (rnrs io ports) - #:use-module ((ice-9 binary-ports) #:select (unget-bytevector)) #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) @@ -306,14 +305,10 @@ host name without trailing dot." (let ((record (session-record-port session))) (define (read! bv start count) - (define read-bv (get-bytevector-some record)) - (if (eof-object? read-bv) - 0 ; read! returns 0 on eof-object - (let ((read-bv-len (bytevector-length read-bv))) - (bytevector-copy! read-bv 0 bv start (min read-bv-len count)) - (when (< count read-bv-len) - (unget-bytevector record bv count (- read-bv-len count))) - read-bv-len))) + (let ((read (get-bytevector-n! record bv start count))) + (if (eof-object? read) + 0 + read))) (define (write! bv start count) (put-bytevector record bv start count) (force-output record) From b168acae2a01fd84075cc134a6140594a978fde5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 10 Mar 2021 23:13:23 +0100 Subject: [PATCH 0416/1003] download: 'tls-wrap' returns an unbuffered custom port. Partly fixes . * guix/build/download.scm (tls-wrap)[unbuffered]: New procedure. Pass the result of 'make-custom-binary-input/output-port' to 'unbuffered'. --- guix/build/download.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/guix/build/download.scm b/guix/build/download.scm index a027cd4cda..f24a1e20df 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -323,17 +323,24 @@ host name without trailing dot." (unless (port-closed? record) (close-port record))) + (define (unbuffered port) + (setvbuf port 'none) + port) + (setvbuf record 'block) ;; Return a port that wraps RECORD to ensure that closing it also ;; closes PORT, the actual socket port, and its file descriptor. + ;; Make sure it does not introduce extra buffering (custom ports + ;; are buffered by default as of Guile 3.0.5). ;; XXX: This wrapper would be unnecessary if GnuTLS could ;; automatically close SESSION's file descriptor when RECORD is ;; closed, but that doesn't seem to be possible currently (as of ;; 3.6.9). - (make-custom-binary-input/output-port "gnutls wrapped port" read! write! - get-position set-position! - close)))) + (unbuffered + (make-custom-binary-input/output-port "gnutls wrapped port" read! write! + get-position set-position! + close))))) (define (ensure-uri uri-or-string) ;XXX: copied from (web http) (cond From f1c4df15c31a81cca03a748a21ec38774e8114c0 Mon Sep 17 00:00:00 2001 From: zimoun Date: Wed, 10 Feb 2021 22:48:04 +0100 Subject: [PATCH 0417/1003] time-machine: Fail when unrecognized option. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/scripts/time-machine (parse-args): Fail when unrecognized option. Co-authored-by: Ludovic Courtès --- guix/scripts/time-machine.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/guix/scripts/time-machine.scm b/guix/scripts/time-machine.scm index 0d27414702..4aafd432e8 100644 --- a/guix/scripts/time-machine.scm +++ b/guix/scripts/time-machine.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Konrad Hinsen ;;; Copyright © 2019, 2020 Ludovic Courtès +;;; Copyright © 2021 Simon Tournier ;;; ;;; This file is part of GNU Guix. ;;; @@ -118,6 +119,10 @@ Execute COMMAND ARGS... in an older version of Guix.\n")) (let-values (((args command) (break (cut string=? "--" <>) args))) (let ((opts (parse-command-line args %options (list %default-options)))) + (when (assoc-ref opts 'argument) + (leave (G_ "~A: extraneous argument~%") + (assoc-ref opts 'argument))) + (match command (() opts) (("--") opts) From 42d5efc001f0122877cd3b8024ea4b6f7c45ee30 Mon Sep 17 00:00:00 2001 From: Xinglu Chen Date: Fri, 26 Feb 2021 12:52:35 +0100 Subject: [PATCH 0418/1003] gnu: guile-curl: Update to 0.9. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/curl.scm (guile-curl): Update to 0.9. [#:phases]: Update path to module. Signed-off-by: Ludovic Courtès --- gnu/packages/curl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 52c2be2f80..730676875c 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -198,14 +198,14 @@ not offer a replacement for libcurl.") (define-public guile-curl (package (name "guile-curl") - (version "0.7") + (version "0.9") (source (origin (method url-fetch) (uri (string-append "http://www.lonelycactus.com/tarball/" "guile_curl-" version ".tar.gz")) (sha256 (base32 - "1zk0ijx6bj212k0j0ma84cpvpvn0x6raaxnby3wdx3w4wnhnscn7")))) + "0y7wfhilfm6vzs0wyifrrc2pj9nsxfas905c7qa5cw4i6s74ypmi")))) (build-system gnu-build-system) (arguments `(#:modules (((guix build guile-build-system) @@ -230,7 +230,7 @@ not offer a replacement for libcurl.") (modify-phases %standard-phases (add-after 'unpack 'patch-undefined-references (lambda* _ - (substitute* "src/curl.scm" + (substitute* "module/curl.scm" ;; The following #defines are missing from our curl package ;; and therefore result in the evaluation of undefined symbols. ((",CURLOPT_HAPROXYPROTOCOL") "#f") From c39d8a11c0cdece6206b4b5a5ffb8c34025745c9 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 11 Mar 2021 16:17:45 -0500 Subject: [PATCH 0419/1003] gnu: linux-libre: Update to 5.11.6. * gnu/packages/linux.scm (linux-libre-5.11-version): Update to 5.11.6. (linux-libre-5.11-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 8b96c333fc..35cccd9ca5 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -354,7 +354,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-5.11-version "5.11.5") +(define-public linux-libre-5.11-version "5.11.6") (define deblob-scripts-5.11 (linux-libre-deblob-scripts linux-libre-5.11-version @@ -362,7 +362,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0yvr80g200hdryz54gdnzj4fl38pf7g4qbgj475rhcfwixhp1j7n"))) (define-public linux-libre-5.11-pristine-source (let ((version linux-libre-5.11-version) - (hash (base32 "0srxpl44px1fr7y6nl8pq61vmbkkdbsmxy5k7wvqka33gdhy8212"))) + (hash (base32 "02dcq7cqll5c39z8dh9f0xy68hh4a8jsab5k4n9calfldrm7jw79"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.11))) From 234aa6c9645e31429da2adf75c144947f94ce245 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 11 Mar 2021 16:18:13 -0500 Subject: [PATCH 0420/1003] gnu: linux-libre 5.10: Update to 5.10.23. * gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.23. (linux-libre-5.10-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 35cccd9ca5..c871eb301a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -370,7 +370,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; -(define-public linux-libre-5.10-version "5.10.22") +(define-public linux-libre-5.10-version "5.10.23") (define deblob-scripts-5.10 (linux-libre-deblob-scripts linux-libre-5.10-version @@ -378,7 +378,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0hh27ccqimagr3aij7ygwikxw66y63sqwd0xlf49bhpjd090r9a7"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "1pv3661d1gvkdl2jg6wx95lr5lcp6q77jrmx0m4a6z6n6asicnr4"))) + (hash (base32 "0snvkrs95wbx611kcnap59whfiz6h6mzsnbwswk5py3gxh1irqpn"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) From a4905b424eab889206f1837a5894610113aaeba6 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 11 Mar 2021 16:18:33 -0500 Subject: [PATCH 0421/1003] gnu: linux-libre 5.4: Update to 5.4.105. * gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.105. (linux-libre-5.4-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c871eb301a..df57a51a90 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -383,7 +383,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.104") +(define-public linux-libre-5.4-version "5.4.105") (define deblob-scripts-5.4 (linux-libre-deblob-scripts linux-libre-5.4-version @@ -391,7 +391,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1p8459plp3a6xw7cib34p7bddjs0dlv2m34dy4z6bbsvgfg51m74"))) + (hash (base32 "1dmq1zkr4idbbvh7wln5hn5sl4d0mcfm1af5bvsmsa44c78lqki4"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) From 129db4f10455dffc1ed754eab7ca0fc853aca45c Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 11 Mar 2021 16:19:04 -0500 Subject: [PATCH 0422/1003] gnu: linux-libre 4.19: Update to 4.19.180. * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.180. (linux-libre-4.19-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index df57a51a90..222c92ed3a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -396,7 +396,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.179") +(define-public linux-libre-4.19-version "4.19.180") (define deblob-scripts-4.19 (linux-libre-deblob-scripts linux-libre-4.19-version @@ -404,7 +404,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "14iy4i6xm2mva359dyrx6s1djpw7rxvnkydcbm6lnfvn7sik37a9"))) + (hash (base32 "0pxvnyhbcmbbkdrqsrf5hhaz36x9l07s0xmzrmc4ipcdhdy5va0x"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) From 0988cbaeab1c20c4e8df80bf8155c22341936c73 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 11 Mar 2021 16:19:24 -0500 Subject: [PATCH 0423/1003] gnu: linux-libre 4.14: Update to 4.14.225. * gnu/packages/linux.scm (linux-libre-4.14-version): Update to 4.14.225. (linux-libre-4.14-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 222c92ed3a..8b4f6dd211 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -409,7 +409,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.224") +(define-public linux-libre-4.14-version "4.14.225") (define deblob-scripts-4.14 (linux-libre-deblob-scripts linux-libre-4.14-version @@ -417,7 +417,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "1x8wyj28zcx6nn3mkfvs7aywrq1rd8xam5f3r02mynb09kn5hdnq"))) + (hash (base32 "09kik0jbfpijb4kylayphr8r2qxx4rlgsnmq300wzcjhxw5yxy3c"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) From 2c5aff6160583762532c17a9f57087c05fd2d2c1 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 11 Mar 2021 16:19:44 -0500 Subject: [PATCH 0424/1003] gnu: linux-libre 4.9: Update to 4.9.261. * gnu/packages/linux.scm (linux-libre-4.9-version): Update to 4.9.261. (linux-libre-4.9-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 8b4f6dd211..066f1a6537 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -422,7 +422,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.260") +(define-public linux-libre-4.9-version "4.9.261") (define deblob-scripts-4.9 (linux-libre-deblob-scripts linux-libre-4.9-version @@ -430,7 +430,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "1xcgqvk1g3l9bidpx377rbbwzvyxb0sbkszlk722bj7vk6c4asmq"))) + (hash (base32 "0r5822mj2gk9s8rbc8bazg34y8bwr7svn3nbgcq57y2qch8nych4"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) From df632e322501ac200659d2bdf259aca13e1717e4 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 11 Mar 2021 16:20:02 -0500 Subject: [PATCH 0425/1003] gnu: linux-libre 4.4: Update to 4.4.261. * gnu/packages/linux.scm (linux-libre-4.4-version): Update to 4.4.261. (linux-libre-4.4-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 066f1a6537..80168c8ae9 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -435,7 +435,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.260") +(define-public linux-libre-4.4-version "4.4.261") (define deblob-scripts-4.4 (linux-libre-deblob-scripts linux-libre-4.4-version @@ -443,7 +443,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "1vl8zhlkhqbw2xqvkqhw1z75mrzk5lsdcj8bd2k2fw7cbwa00ln6"))) + (hash (base32 "0d9j4j72n8fl3s93qm82cydwk8lvwhvl2357rcsai2vsk5l0k1mc"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) From 09c05fde523f3186d9e12ce3310139ecb69b78d7 Mon Sep 17 00:00:00 2001 From: Kyle Meyer Date: Wed, 10 Mar 2021 21:13:41 -0500 Subject: [PATCH 0426/1003] gnu: git-annex: Update to 8.20210310. * gnu/packages/haskell-apps.scm (git-annex): Update to 8.20210310. Signed-off-by: Leo Famulari --- gnu/packages/haskell-apps.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index a0a708a79c..d7d5a0223a 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -342,14 +342,14 @@ to @code{cabal repl}).") (define-public git-annex (package (name "git-annex") - (version "8.20210223") + (version "8.20210310") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" "git-annex/git-annex-" version ".tar.gz")) (sha256 - (base32 "07wxf44pdh9d1pxqympgyfbkk8vk0pqbgxma0mkadlkdr6c9z832")))) + (base32 "1a4pr9z2li3wns1xycz7735nzzsv3cs8milr0q74k5qcqk5f22nx")))) (build-system haskell-build-system) (arguments `(#:configure-flags From c3a7537396f11af7dd04c294714eb20980946083 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 11 Mar 2021 18:32:07 -0500 Subject: [PATCH 0427/1003] gnu: certbot, python-acme: Update to 1.13.0. * gnu/packages/tls.scm (python-acme): Update to 1.13.0. [native-inputs]: Remove python-mock. [propagated-inputs]: Remove python-six. (certbot): Update to 1.13.0. [propagated-inputs]: Remove python-six. [arguments]: Remove 'build-documentation' phase. --- gnu/packages/tls.scm | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index acabca5df3..4572b39aa1 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -576,13 +576,13 @@ netcat implementation that supports TLS.") (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "1.12.0") + (version "1.13.0") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "1wn2jvkg18z31nd060hfcp2yqvxjxykim2ybgaidv7qfsms38dma")))) + "1260a7bcgmha19drqzn6syz3cy61482b3w6lihgg1md6svgmfhkb")))) (build-system python-build-system) (arguments `(#:phases @@ -599,8 +599,7 @@ netcat implementation that supports TLS.") (install-file "docs/_build/man/acme-python.1" man) #t)))))) (native-inputs - `(("python-mock" ,python-mock) - ("python-pytest" ,python-pytest) + `(("python-pytest" ,python-pytest) ;; For documentation ("python-sphinx" ,python-sphinx) ("python-sphinxcontrib-programoutput" ,python-sphinxcontrib-programoutput) @@ -608,7 +607,6 @@ netcat implementation that supports TLS.") ("texinfo" ,texinfo))) (propagated-inputs `(("python-josepy" ,python-josepy) - ("python-six" ,python-six) ("python-requests" ,python-requests) ("python-requests-toolbelt" ,python-requests-toolbelt) ("python-pytz" ,python-pytz) @@ -632,20 +630,12 @@ netcat implementation that supports TLS.") (uri (pypi-uri "certbot" version)) (sha256 (base32 - "0nfzk6fzyfqy8lgs5lmxfndrdh5c2ljdvzj39rwvgg3r6ivkirsy")))) + "0n7lwajmlypkqgsd2cv74j41f5ag381skjlzhjfpsrppgnsl3kv4")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) ((#:phases phases) `(modify-phases ,phases - (replace 'build-documentation - (lambda _ - ;; Fix building the manual page in 1.12.0: - ;; https://github.com/certbot/certbot/issues/8633 - ;; TODO Remove the substitution in later releases. - (substitute* "docs/conf.py" - (("'man',") "")) - (invoke "make" "-C" "docs" "man" "info"))) (replace 'install-documentation (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -676,7 +666,6 @@ netcat implementation that supports TLS.") ("python-distro" ,python-distro) ("python-zope-component" ,python-zope-component) ("python-parsedatetime" ,python-parsedatetime) - ("python-six" ,python-six) ("python-psutil" ,python-psutil) ("python-requests" ,python-requests) ("python-pytz" ,python-pytz))) From 5a06b83fc92710c5846a83bbf49f0ea84c8ecec2 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 12 Mar 2021 00:48:58 -0500 Subject: [PATCH 0428/1003] gnu: glib: Fix CVE-2021-28153. * gnu/packages/patches/glib-CVE-2021-28153.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/glib.scm (glib/fixed): Add the new patch. --- gnu/local.mk | 1 + gnu/packages/glib.scm | 3 +- .../patches/glib-CVE-2021-28153.patch | 283 ++++++++++++++++++ 3 files changed, 286 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/glib-CVE-2021-28153.patch diff --git a/gnu/local.mk b/gnu/local.mk index c2637926ee..ce30d1db1c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1095,6 +1095,7 @@ dist_patch_DATA = \ %D%/packages/patches/glib-CVE-2021-27219-16.patch \ %D%/packages/patches/glib-CVE-2021-27219-17.patch \ %D%/packages/patches/glib-CVE-2021-27219-18.patch \ + %D%/packages/patches/glib-CVE-2021-28153.patch \ %D%/packages/patches/glibc-CVE-2018-11236.patch \ %D%/packages/patches/glibc-CVE-2018-11237.patch \ %D%/packages/patches/glibc-CVE-2019-7309.patch \ diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 520b723722..eaa319a2ff 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -415,7 +415,8 @@ dynamic loading, and an object system.") "glib-CVE-2021-27219-15.patch" "glib-CVE-2021-27219-16.patch" "glib-CVE-2021-27219-17.patch" - "glib-CVE-2021-27219-18.patch") + "glib-CVE-2021-27219-18.patch" + "glib-CVE-2021-28153.patch") (origin-patches (package-source glib)))))))) (define-public glib-with-documentation diff --git a/gnu/packages/patches/glib-CVE-2021-28153.patch b/gnu/packages/patches/glib-CVE-2021-28153.patch new file mode 100644 index 0000000000..54443186d9 --- /dev/null +++ b/gnu/packages/patches/glib-CVE-2021-28153.patch @@ -0,0 +1,283 @@ +Backport of: + +From 317b3b587058a05dca95d56dac26568c5b098d33 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Wed, 24 Feb 2021 17:35:40 +0000 +Subject: [PATCH] glocalfileoutputstream: Fix CREATE_REPLACE_DESTINATION + with symlinks +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The `G_FILE_CREATE_REPLACE_DESTINATION` flag is equivalent to unlinking +the destination file and re-creating it from scratch. That did +previously work, but in the process the code would call `open(O_CREAT)` +on the file. If the file was a dangling symlink, this would create the +destination file (empty). That’s not an intended side-effect, and has +security implications if the symlink is controlled by a lower-privileged +process. + +Fix that by not opening the destination file if it’s a symlink, and +adjusting the rest of the code to cope with + - the fact that `fd == -1` is not an error iff `is_symlink` is true, + - and that `original_stat` will contain the `lstat()` results for the + symlink now, rather than the `stat()` results for its target (again, + iff `is_symlink` is true). + +This means that the target of the dangling symlink is no longer created, +which was the bug. The symlink itself continues to be replaced (as +before) with the new file — this is the intended behaviour of +`g_file_replace()`. + +The behaviour for non-symlink cases, or cases where the symlink was not +dangling, should be unchanged. + +Includes a unit test. + +Signed-off-by: Philip Withnall + +Fixes: #2325 +--- + gio/glocalfileoutputstream.c | 70 ++++++++++++++++------- + gio/tests/file.c | 108 +++++++++++++++++++++++++++++++++++ + 2 files changed, 158 insertions(+), 20 deletions(-) + +diff --git a/gio/glocalfileoutputstream.c b/gio/glocalfileoutputstream.c +index a3dd62172..553fcbbae 100644 +--- a/gio/glocalfileoutputstream.c ++++ b/gio/glocalfileoutputstream.c +@@ -874,16 +874,22 @@ handle_overwrite_open (const char *filename, + /* Could be a symlink, or it could be a regular ELOOP error, + * but then the next open will fail too. */ + is_symlink = TRUE; +- fd = g_open (filename, open_flags, mode); ++ if (!(flags & G_FILE_CREATE_REPLACE_DESTINATION)) ++ fd = g_open (filename, open_flags, mode); + } +-#else +- fd = g_open (filename, open_flags, mode); +- errsv = errno; ++#else /* if !O_NOFOLLOW */ + /* This is racy, but we do it as soon as possible to minimize the race */ + is_symlink = g_file_test (filename, G_FILE_TEST_IS_SYMLINK); ++ ++ if (!is_symlink || !(flags & G_FILE_CREATE_REPLACE_DESTINATION)) ++ { ++ fd = g_open (filename, open_flags, mode); ++ errsv = errno; ++ } + #endif + +- if (fd == -1) ++ if (fd == -1 && ++ (!is_symlink || !(flags & G_FILE_CREATE_REPLACE_DESTINATION))) + { + char *display_name = g_filename_display_name (filename); + g_set_error (error, G_IO_ERROR, +@@ -893,13 +899,25 @@ handle_overwrite_open (const char *filename, + g_free (display_name); + return -1; + } +- ++ ++ if (!is_symlink) ++ { + #ifdef G_OS_WIN32 +- res = GLIB_PRIVATE_CALL (g_win32_fstat) (fd, &original_stat); ++ res = GLIB_PRIVATE_CALL (g_win32_fstat) (fd, &original_stat); + #else +- res = fstat (fd, &original_stat); ++ res = fstat (fd, &original_stat); + #endif +- errsv = errno; ++ errsv = errno; ++ } ++ else ++ { ++#ifdef G_OS_WIN32 ++ res = GLIB_PRIVATE_CALL (g_win32_lstat_utf8) (filename, &original_stat); ++#else ++ res = g_lstat (filename, &original_stat); ++#endif ++ errsv = errno; ++ } + + if (res != 0) + { +@@ -916,16 +934,27 @@ handle_overwrite_open (const char *filename, + if (!S_ISREG (original_stat.st_mode)) + { + if (S_ISDIR (original_stat.st_mode)) +- g_set_error_literal (error, +- G_IO_ERROR, +- G_IO_ERROR_IS_DIRECTORY, +- _("Target file is a directory")); +- else +- g_set_error_literal (error, +- G_IO_ERROR, +- G_IO_ERROR_NOT_REGULAR_FILE, +- _("Target file is not a regular file")); +- goto err_out; ++ { ++ g_set_error_literal (error, ++ G_IO_ERROR, ++ G_IO_ERROR_IS_DIRECTORY, ++ _("Target file is a directory")); ++ goto err_out; ++ } ++ else if (!is_symlink || ++#ifdef S_ISLNK ++ !S_ISLNK (original_stat.st_mode) ++#else ++ FALSE ++#endif ++ ) ++ { ++ g_set_error_literal (error, ++ G_IO_ERROR, ++ G_IO_ERROR_NOT_REGULAR_FILE, ++ _("Target file is not a regular file")); ++ goto err_out; ++ } + } + + if (etag != NULL) +@@ -1006,7 +1035,8 @@ handle_overwrite_open (const char *filename, + } + } + +- g_close (fd, NULL); ++ if (fd >= 0) ++ g_close (fd, NULL); + *temp_filename = tmp_filename; + return tmpfd; + } +diff --git a/gio/tests/file.c b/gio/tests/file.c +index efb2eaadd..bc55f3af4 100644 +--- a/gio/tests/file.c ++++ b/gio/tests/file.c +@@ -804,6 +804,113 @@ test_replace_cancel (void) + g_object_unref (tmpdir); + } + ++static void ++test_replace_symlink (void) ++{ ++#ifdef G_OS_UNIX ++ gchar *tmpdir_path = NULL; ++ GFile *tmpdir = NULL, *source_file = NULL, *target_file = NULL; ++ GFileOutputStream *stream = NULL; ++ const gchar *new_contents = "this is a test message which should be written to source and not target"; ++ gsize n_written; ++ GFileEnumerator *enumerator = NULL; ++ GFileInfo *info = NULL; ++ gchar *contents = NULL; ++ gsize length = 0; ++ GError *local_error = NULL; ++ ++ g_test_bug ("https://gitlab.gnome.org/GNOME/glib/-/issues/2325"); ++ g_test_summary ("Test that G_FILE_CREATE_REPLACE_DESTINATION doesn’t follow symlinks"); ++ ++ /* Create a fresh, empty working directory. */ ++ tmpdir_path = g_dir_make_tmp ("g_file_replace_symlink_XXXXXX", &local_error); ++ g_assert_no_error (local_error); ++ tmpdir = g_file_new_for_path (tmpdir_path); ++ ++ g_test_message ("Using temporary directory %s", tmpdir_path); ++ g_free (tmpdir_path); ++ ++ /* Create symlink `source` which points to `target`. */ ++ source_file = g_file_get_child (tmpdir, "source"); ++ target_file = g_file_get_child (tmpdir, "target"); ++ g_file_make_symbolic_link (source_file, "target", NULL, &local_error); ++ g_assert_no_error (local_error); ++ ++ /* Ensure that `target` doesn’t exist */ ++ g_assert_false (g_file_query_exists (target_file, NULL)); ++ ++ /* Replace the `source` symlink with a regular file using ++ * %G_FILE_CREATE_REPLACE_DESTINATION, which should replace it *without* ++ * following the symlink */ ++ stream = g_file_replace (source_file, NULL, FALSE /* no backup */, ++ G_FILE_CREATE_REPLACE_DESTINATION, NULL, &local_error); ++ g_assert_no_error (local_error); ++ ++ g_output_stream_write_all (G_OUTPUT_STREAM (stream), new_contents, strlen (new_contents), ++ &n_written, NULL, &local_error); ++ g_assert_no_error (local_error); ++ g_assert_cmpint (n_written, ==, strlen (new_contents)); ++ ++ g_output_stream_close (G_OUTPUT_STREAM (stream), NULL, &local_error); ++ g_assert_no_error (local_error); ++ ++ g_clear_object (&stream); ++ ++ /* At this point, there should still only be one file: `source`. It should ++ * now be a regular file. `target` should not exist. */ ++ enumerator = g_file_enumerate_children (tmpdir, ++ G_FILE_ATTRIBUTE_STANDARD_NAME "," ++ G_FILE_ATTRIBUTE_STANDARD_TYPE, ++ G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &local_error); ++ g_assert_no_error (local_error); ++ ++ info = g_file_enumerator_next_file (enumerator, NULL, &local_error); ++ g_assert_no_error (local_error); ++ g_assert_nonnull (info); ++ ++ g_assert_cmpstr (g_file_info_get_name (info), ==, "source"); ++ g_assert_cmpint (g_file_info_get_file_type (info), ==, G_FILE_TYPE_REGULAR); ++ ++ g_clear_object (&info); ++ ++ info = g_file_enumerator_next_file (enumerator, NULL, &local_error); ++ g_assert_no_error (local_error); ++ g_assert_null (info); ++ ++ g_file_enumerator_close (enumerator, NULL, &local_error); ++ g_assert_no_error (local_error); ++ g_clear_object (&enumerator); ++ ++ /* Double-check that `target` doesn’t exist */ ++ g_assert_false (g_file_query_exists (target_file, NULL)); ++ ++ /* Check the content of `source`. */ ++ g_file_load_contents (source_file, ++ NULL, ++ &contents, ++ &length, ++ NULL, ++ &local_error); ++ g_assert_no_error (local_error); ++ g_assert_cmpstr (contents, ==, new_contents); ++ g_assert_cmpuint (length, ==, strlen (new_contents)); ++ g_free (contents); ++ ++ /* Tidy up. */ ++ g_file_delete (source_file, NULL, &local_error); ++ g_assert_no_error (local_error); ++ ++ g_file_delete (tmpdir, NULL, &local_error); ++ g_assert_no_error (local_error); ++ ++ g_clear_object (&target_file); ++ g_clear_object (&source_file); ++ g_clear_object (&tmpdir); ++#else /* if !G_OS_UNIX */ ++ g_test_skip ("Symlink replacement tests can only be run on Unix") ++#endif ++} ++ + static void + on_file_deleted (GObject *object, + GAsyncResult *result, +@@ -1754,6 +1861,7 @@ main (int argc, char *argv[]) + g_test_add_data_func ("/file/async-create-delete/4096", GINT_TO_POINTER (4096), test_create_delete); + g_test_add_func ("/file/replace-load", test_replace_load); + g_test_add_func ("/file/replace-cancel", test_replace_cancel); ++ g_test_add_func ("/file/replace-symlink", test_replace_symlink); + g_test_add_func ("/file/async-delete", test_async_delete); + #ifdef G_OS_UNIX + g_test_add_func ("/file/copy-preserve-mode", test_copy_preserve_mode); +-- +2.30.1 + From 57853d69fe14ea97ea1eb084a74944c44998a4bb Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 12 Mar 2021 10:31:00 +0100 Subject: [PATCH 0429/1003] gnu: java-openjfx-graphics: Install native libraries. * gnu/packages/java.scm (java-openjfx-graphics)[arguments]: Add phase copy-missing-file and build-native. [native-inputs]: Add missing source file. --- gnu/packages/java.scm | 93 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 92 insertions(+), 1 deletion(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 09c5506fd7..37716e01d5 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2696,10 +2696,101 @@ distribution."))) `(#:jar-name "java-openjfx-graphics.jar" #:source-dir "modules/graphics/src/main/java" #:tests? #f; require X - #:test-dir "modules/graphics/src/test")) + #:test-dir "modules/graphics/src/test" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'copy-missing-file + (lambda* (#:key inputs #:allow-other-keys) + (let ((target "modules/graphics/src/main/native-prism-sw/JNativeSurface.c")) + (copy-file (assoc-ref inputs "JNativeSurface.c") target) + ;; XXX: looks like the missing file we found isn't *quite* + ;; compatible... + (substitute* target + (("case TYPE_INT_ARGB:") ""))))) + (add-after 'build 'build-native + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((jdk (assoc-ref inputs "jdk")) + (class-file->class-name + (lambda (class-file) + (string-map (lambda (c) + (if (char=? c #\/) #\. c)) + (string-drop-right class-file + (string-length ".class")))))) + (setenv "CPPFLAGS" + (string-append "-DINLINE=inline " + "-DLINUX " + "-I" jdk "/include " + "-I" jdk "/include/linux " + "-I " (getcwd) "/build/classes/include " + "-I " (getcwd) "/modules/graphics/src/main/native-prism-sw")) + + ;; Instructions have been adapted from buildSrc/linux.gradle + (with-directory-excursion "build/classes" + ;; Build prism + (mkdir-p "include") + + ;; Generate headers for prism + (apply invoke "javah" "-d" "include" "-cp" "." + (map class-file->class-name + (append (find-files "com/sun/prism/impl" "\\.class$") + (find-files "com/sun/prism" "PresentableState.*\\.class$")))) + + ;; ...then for prism_sw + (apply invoke "javah" "-d" "include" "-cp" "." + (map class-file->class-name + (find-files "com/sun/pisces" "\\.class$"))) + + ;; ...and for prism_es2 + (apply invoke "javah" "-d" "include" "-cp" "." + (map class-file->class-name + (find-files "com/sun/prism/es2" "\\.class$"))))) + + (with-directory-excursion "netbeans/native-prism" + (invoke "make" "CONF=Release")) + (with-directory-excursion "netbeans/native-prism-sw" + (invoke "make" "CONF=Release")) + ;; TODO: This fails due to unknown EGL procedure names + #; + (with-directory-excursion "netbeans/native-prism-es2" + (invoke "make" "CONF=Release")) + + (let* ((out (assoc-ref outputs "out")) + (dir ,(match (%current-system) + ("i686-linux" + "i386") + ((or "armhf-linux" "aarch64-linux") + "arm") + ((or "x86_64-linux") + "amd64") + (_ "unknown"))) + (target (string-append out "/share/" dir "/"))) + (mkdir-p target) + (for-each (lambda (file) + (let ((new-name + (string-append "lib" + (string-map + (lambda (c) + (if (char=? c #\-) #\_ c)) + (string-drop (basename file) + (string-length "libnative-")))))) + (copy-file file + (string-append target new-name)))) + (find-files "netbeans" "\\.so$")))))))) (propagated-inputs `(("java-openjfx-base" ,java-openjfx-base) ("java-swt" ,java-swt))) + ;; XXX: for unknown reasons + ;; modules/graphics/src/main/native-prism-sw/JNativeSurface.c is missing + ;; in this revision. + (native-inputs + `(("JNativeSurface.c" + ,(origin + (method url-fetch) + (uri "https://raw.githubusercontent.com/openjdk/jfx/8u20-b02\ +/modules/graphics/src/main/native-prism-sw/JNativeSurface.c") + (sha256 + (base32 + "1kp15wbnd6rn0nciczp5ibq0ikby2yysvx1gnz5fa05vl2mm8mbm")))))) (description "OpenJFX is a client application platform for desktop, mobile and embedded systems built on Java. Its goal is to produce a modern, efficient, and fully featured toolkit for developing rich client From 453e101fc3f7dac9aabcd6122cf05fb7925103c7 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 12 Mar 2021 03:51:45 -0500 Subject: [PATCH 0430/1003] gnu: gdk-pixbuf: Fix CVE-2020-29385. * gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gtk.scm (gdk-pixbuf)[replacement]: New field. (gdk-pixbuf/fixed): New variable. (gdk-pixbuf+svg): Use package/inherit. --- gnu/local.mk | 1 + gnu/packages/gtk.scm | 14 ++++- .../patches/gdk-pixbuf-CVE-2020-29385.patch | 53 +++++++++++++++++++ 3 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch diff --git a/gnu/local.mk b/gnu/local.mk index ce30d1db1c..c0020fad41 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1056,6 +1056,7 @@ dist_patch_DATA = \ %D%/packages/patches/gdb-hurd.patch \ %D%/packages/patches/gd-fix-tests-on-i686.patch \ %D%/packages/patches/gd-brect-bounds.patch \ + %D%/packages/patches/gdk-pixbuf-CVE-2020-29385.patch \ %D%/packages/patches/gdm-default-session.patch \ %D%/packages/patches/geary-CVE-2020-24661.patch \ %D%/packages/patches/genimage-signedness.patch \ diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index b9e81c9650..ee2c91264f 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès -;;; Copyright © 2014, 2015, 2017, 2018, 2019 Mark H Weaver +;;; Copyright © 2014, 2015, 2017, 2018, 2019, 2021 Mark H Weaver ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2015 Paul van der Walt @@ -557,6 +557,7 @@ highlighting and other features typical of a source code editor.") (package (name "gdk-pixbuf") (version "2.40.0") + (replacement gdk-pixbuf/fixed) (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -613,11 +614,20 @@ in the GNOME project.") (license license:lgpl2.0+) (home-page "https://developer.gnome.org/gdk-pixbuf/"))) +(define gdk-pixbuf/fixed + (package + (inherit gdk-pixbuf) + (source (origin + (inherit (package-source gdk-pixbuf)) + (patches + (append (search-patches "gdk-pixbuf-CVE-2020-29385.patch") + (origin-patches (package-source gdk-pixbuf)))))))) + ;; To build gdk-pixbuf with SVG support, we need librsvg, and librsvg depends ;; on gdk-pixbuf, so this new varibale. Also, librsvg adds 90MiB to the ;; closure size. (define-public gdk-pixbuf+svg - (package (inherit gdk-pixbuf) + (package/inherit gdk-pixbuf (name "gdk-pixbuf+svg") (inputs `(("librsvg" ,librsvg) diff --git a/gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch b/gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch new file mode 100644 index 0000000000..e6ac4de00b --- /dev/null +++ b/gnu/packages/patches/gdk-pixbuf-CVE-2020-29385.patch @@ -0,0 +1,53 @@ +Fix CVE-2020-29385. Note that we omit the binary test file +tests/test-images/fail/hang_114.gif from the following commit, to avoid +requiring 'git' to apply the patch. + + +From bdd3acbd48a575d418ba6bf1b32d7bda2fae1c81 Mon Sep 17 00:00:00 2001 +From: Robert Ancell +Date: Mon, 30 Nov 2020 12:26:12 +1300 +Subject: [PATCH] gif: Fix LZW decoder accepting invalid LZW code. + +The code value after a reset wasn't being validated, which means we would +accept invalid codes. This could cause an infinite loop in the decoder. + +Fixes CVE-2020-29385 + +Fixes https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/164 +--- + gdk-pixbuf/lzw.c | 13 +++++++------ + tests/test-images/fail/hang_114.gif | Bin 0 -> 5561 bytes + 2 files changed, 7 insertions(+), 6 deletions(-) + create mode 100644 tests/test-images/fail/hang_114.gif + +diff --git a/gdk-pixbuf/lzw.c b/gdk-pixbuf/lzw.c +index 9e052a6f7..105daf2b1 100644 +--- a/gdk-pixbuf/lzw.c ++++ b/gdk-pixbuf/lzw.c +@@ -195,19 +195,20 @@ lzw_decoder_feed (LZWDecoder *self, + if (self->last_code != self->clear_code && self->code_table_size < MAX_CODES) { + if (self->code < self->code_table_size) + add_code (self, self->code); +- else if (self->code == self->code_table_size) ++ else + add_code (self, self->last_code); +- else { +- /* Invalid code received - just stop here */ +- self->last_code = self->eoi_code; +- return output_length; +- } + + /* When table is full increase code size */ + if (self->code_table_size == (1 << self->code_size) && self->code_size < LZW_CODE_MAX) + self->code_size++; + } + ++ /* Invalid code received - just stop here */ ++ if (self->code >= self->code_table_size) { ++ self->last_code = self->eoi_code; ++ return output_length; ++ } ++ + /* Convert codeword into indexes */ + n_written += write_indexes (self, output + n_written, output_length - n_written); + } From bc16eacc99e801ac30cbe2aa649a2be3ca5c102a Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 12 Mar 2021 05:24:36 -0500 Subject: [PATCH 0431/1003] gnu: cairo: Fix CVE-2018-19876 and CVE-2020-35492. * gnu/packages/patches/cairo-CVE-2018-19876.patch, gnu/packages/patches/cairo-CVE-2020-35492.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/gtk.scm (cairo)[replacement]: New field. (cairo/fixed): New variable. (cairo-xcb): Use package/inherit. --- gnu/local.mk | 2 + gnu/packages/gtk.scm | 13 ++++- .../patches/cairo-CVE-2018-19876.patch | 37 ++++++++++++++ .../patches/cairo-CVE-2020-35492.patch | 49 +++++++++++++++++++ 4 files changed, 99 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/cairo-CVE-2018-19876.patch create mode 100644 gnu/packages/patches/cairo-CVE-2020-35492.patch diff --git a/gnu/local.mk b/gnu/local.mk index c0020fad41..fd070d6791 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -871,6 +871,8 @@ dist_patch_DATA = \ %D%/packages/patches/blender-2.79-python-3.8-fix.patch \ %D%/packages/patches/bpftrace-disable-bfd-disasm.patch \ %D%/packages/patches/byobu-writable-status.patch \ + %D%/packages/patches/cairo-CVE-2018-19876.patch \ + %D%/packages/patches/cairo-CVE-2020-35492.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ %D%/packages/patches/calibre-remove-test-sqlite.patch \ %D%/packages/patches/calibre-remove-test-unrar.patch \ diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index ee2c91264f..9fc4967181 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -124,6 +124,7 @@ tools have full access to view and control running applications.") (package (name "cairo") (version "1.16.0") + (replacement cairo/fixed) (source (origin (method url-fetch) (uri (string-append "https://cairographics.org/releases/cairo-" @@ -174,6 +175,15 @@ affine transformation (scale, rotation, shear, etc.).") (license license:lgpl2.1) ; or Mozilla Public License 1.1 (home-page "https://cairographics.org/"))) +(define cairo/fixed + (package + (inherit cairo) + (source (origin + (inherit (package-source cairo)) + (patches (append (search-patches "cairo-CVE-2018-19876.patch" + "cairo-CVE-2020-35492.patch") + (origin-patches (package-source cairo)))))))) + (define-public cairo-sans-poppler ;; Variant used to break the dependency cycle between Poppler and Cairo. (package/inherit cairo @@ -181,8 +191,7 @@ affine transformation (scale, rotation, shear, etc.).") (properties `((hidden? . #t))))) (define-public cairo-xcb - (package - (inherit cairo) + (package/inherit cairo (name "cairo-xcb") (inputs `(("mesa" ,mesa) diff --git a/gnu/packages/patches/cairo-CVE-2018-19876.patch b/gnu/packages/patches/cairo-CVE-2018-19876.patch new file mode 100644 index 0000000000..c0fba2ecaa --- /dev/null +++ b/gnu/packages/patches/cairo-CVE-2018-19876.patch @@ -0,0 +1,37 @@ +Copied from Debian. + +From: Carlos Garcia Campos +Date: Mon, 19 Nov 2018 12:33:07 +0100 +Subject: ft: Use FT_Done_MM_Var instead of free when available in + cairo_ft_apply_variations + +Fixes a crash when using freetype >= 2.9 + +[This is considered to be security-sensitive because WebKitGTK+ sets its +own memory allocator, which is not compatible with system free(), making +this a remotely triggerable denial of service or memory corruption.] + +Origin: upstream, commit:90e85c2493fdfa3551f202ff10282463f1e36645 +Bug: https://gitlab.freedesktop.org/cairo/cairo/merge_requests/5 +Bug-Debian: https://bugs.debian.org/916389 +Bug-CVE: CVE-2018-19876 +--- + src/cairo-ft-font.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c +index 325dd61..981973f 100644 +--- a/src/cairo-ft-font.c ++++ b/src/cairo-ft-font.c +@@ -2393,7 +2393,11 @@ skip: + done: + free (coords); + free (current_coords); ++#if HAVE_FT_DONE_MM_VAR ++ FT_Done_MM_Var (face->glyph->library, ft_mm_var); ++#else + free (ft_mm_var); ++#endif + } + } + diff --git a/gnu/packages/patches/cairo-CVE-2020-35492.patch b/gnu/packages/patches/cairo-CVE-2020-35492.patch new file mode 100644 index 0000000000..e8b90fa5c5 --- /dev/null +++ b/gnu/packages/patches/cairo-CVE-2020-35492.patch @@ -0,0 +1,49 @@ +Copied from Debian. + +From 03a820b173ed1fdef6ff14b4468f5dbc02ff59be Mon Sep 17 00:00:00 2001 +From: Heiko Lewin +Date: Tue, 15 Dec 2020 16:48:19 +0100 +Subject: [PATCH] Fix mask usage in image-compositor + +[trimmed test case, since not used in Debian build] + +--- + src/cairo-image-compositor.c | 8 ++-- + +--- cairo-1.16.0.orig/src/cairo-image-compositor.c ++++ cairo-1.16.0/src/cairo-image-compositor.c +@@ -2601,14 +2601,14 @@ _inplace_src_spans (void *abstract_rende + unsigned num_spans) + { + cairo_image_span_renderer_t *r = abstract_renderer; +- uint8_t *m; ++ uint8_t *m, *base = (uint8_t*)pixman_image_get_data(r->mask); + int x0; + + if (num_spans == 0) + return CAIRO_STATUS_SUCCESS; + + x0 = spans[0].x; +- m = r->_buf; ++ m = base; + do { + int len = spans[1].x - spans[0].x; + if (len >= r->u.composite.run_length && spans[0].coverage == 0xff) { +@@ -2646,7 +2646,7 @@ _inplace_src_spans (void *abstract_rende + spans[0].x, y, + spans[1].x - spans[0].x, h); + +- m = r->_buf; ++ m = base; + x0 = spans[1].x; + } else if (spans[0].coverage == 0x0) { + if (spans[0].x != x0) { +@@ -2675,7 +2675,7 @@ _inplace_src_spans (void *abstract_rende + #endif + } + +- m = r->_buf; ++ m = base; + x0 = spans[1].x; + } else { + *m++ = spans[0].coverage; From f5e1909d9f7de91f6e257a877b4805c1b0747997 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 12 Mar 2021 04:16:03 -0500 Subject: [PATCH 0432/1003] gnu: gvfs: Update to 1.40.2 [security fixes]. Includes fixes for CVE-2019-12447, CVE-2019-12448, CVE-2019-12449, and CVE-2019-12795. * gnu/packages/gnome.scm (gvfs): Update to 1.40.2. --- gnu/packages/gnome.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 5a8b6b30e8..9849611892 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2015, 2017 Andy Wingo ;;; Copyright © 2015 David Hashe ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus -;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver +;;; Copyright © 2015, 2016, 2017, 2018, 2021 Mark H Weaver ;;; Copyright © 2015 David Thompson ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner ;;; Copyright © 2016, 2017, 2018 Rene Saavedra @@ -6459,7 +6459,7 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.") (define-public gvfs (package (name "gvfs") - (version "1.40.1") + (version "1.40.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gvfs/" @@ -6467,7 +6467,7 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.") "gvfs-" version ".tar.xz")) (sha256 (base32 - "1cfnzamr4mvgpf6yhm28lh9cafy9z6842s8jpbqnfizfxybg8ylj")) + "07lpcfric3h0302n9b1pwa38mjb76r9s98kg2867y2d1qvzfivxx")) ;; This patch may be removed when upgrading to version 1.46.x. (patches (search-patches "gvfs-add-support-for-libplist-2.2.patch")))) From db7c3410d58a5730c0a4a33e94fa1a2b832fe20a Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 12 Mar 2021 04:54:19 -0500 Subject: [PATCH 0433/1003] gnu: gnome-shell: Update to 3.34.5. * gnu/packages/gnome.scm (gnome-shell): Update to 3.34.5. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 9849611892..f38401f726 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8440,7 +8440,7 @@ properties, screen resolution, and other GNOME parameters.") (define-public gnome-shell (package (name "gnome-shell") - (version "3.34.2") + (version "3.34.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -8448,7 +8448,7 @@ properties, screen resolution, and other GNOME parameters.") name "-" version ".tar.xz")) (sha256 (base32 - "0k9vq2gh1nhdd6fpp7jnwx37qxaakawiqw1xnlfjvq5g5zdn8ckh")) + "0l3mdn7g2c22mdhrqkxvvc1pk2w0v32f2v4a6n1phvaalwcg75nj")) (patches (search-patches "gnome-shell-theme.patch" "gnome-shell-disable-test.patch")) (modules '((guix build utils))) From 825cc7e0d4bc7f052831f905a92945678441fb55 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 12 Mar 2021 05:36:54 -0500 Subject: [PATCH 0434/1003] gnu: gnome-shell: Fix CVE-2020-17489. * gnu/packages/patches/gnome-shell-CVE-2020-17489.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gnome.scm (gnome-shell)[source]: Add patch. --- gnu/local.mk | 1 + gnu/packages/gnome.scm | 3 +- .../patches/gnome-shell-CVE-2020-17489.patch | 46 +++++++++++++++++++ 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/gnome-shell-CVE-2020-17489.patch diff --git a/gnu/local.mk b/gnu/local.mk index fd070d6791..46f76c16cc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1134,6 +1134,7 @@ dist_patch_DATA = \ %D%/packages/patches/gnash-fix-giflib-version.patch \ %D%/packages/patches/gnome-shell-theme.patch \ %D%/packages/patches/gnome-shell-disable-test.patch \ + %D%/packages/patches/gnome-shell-CVE-2020-17489.patch \ %D%/packages/patches/gnome-settings-daemon-gc.patch \ %D%/packages/patches/gnome-todo-delete-esource-duplicate.patch \ %D%/packages/patches/gnome-tweaks-search-paths.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f38401f726..d2881dbec6 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8449,7 +8449,8 @@ properties, screen resolution, and other GNOME parameters.") (sha256 (base32 "0l3mdn7g2c22mdhrqkxvvc1pk2w0v32f2v4a6n1phvaalwcg75nj")) - (patches (search-patches "gnome-shell-theme.patch" + (patches (search-patches "gnome-shell-CVE-2020-17489.patch" + "gnome-shell-theme.patch" "gnome-shell-disable-test.patch")) (modules '((guix build utils))) (snippet diff --git a/gnu/packages/patches/gnome-shell-CVE-2020-17489.patch b/gnu/packages/patches/gnome-shell-CVE-2020-17489.patch new file mode 100644 index 0000000000..4b7748950e --- /dev/null +++ b/gnu/packages/patches/gnome-shell-CVE-2020-17489.patch @@ -0,0 +1,46 @@ +From 05b7aec747282f62212b605249d518280ff80059 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Mon, 27 Jul 2020 10:58:22 -0400 +Subject: [PATCH] loginDialog: Reset auth prompt on vt switch before fade in + +At the moment, if a user switches to the login screen vt, +the login screen fades in whatever was on screen prior, and +then does a reset. + +It makes more sense to reset first, so we fade in what the +user is going to interact with instead of what they interacted +with before. + +Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2997 +--- + js/gdm/loginDialog.js | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js +index c3f90dc58..6b35ebb16 100644 +--- a/js/gdm/loginDialog.js ++++ b/js/gdm/loginDialog.js +@@ -920,16 +920,15 @@ var LoginDialog = GObject.registerClass({ + if (this.opacity == 255 && this._authPrompt.verificationStatus == AuthPrompt.AuthPromptStatus.NOT_VERIFYING) + return; + ++ if (this._authPrompt.verificationStatus !== AuthPrompt.AuthPromptStatus.NOT_VERIFYING) ++ this._authPrompt.reset(); ++ + this._bindOpacity(); + this.ease({ + opacity: 255, + duration: _FADE_ANIMATION_TIME, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, +- onComplete: () => { +- if (this._authPrompt.verificationStatus != AuthPrompt.AuthPromptStatus.NOT_VERIFYING) +- this._authPrompt.reset(); +- this._unbindOpacity(); +- } ++ onComplete: () => this._unbindOpacity(), + }); + } + +-- +2.30.1 + From ddc1cddded1c643368023175d141ba80d87fd32e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 12 Mar 2021 12:58:28 +0100 Subject: [PATCH 0435/1003] gnu: snakemake: Update to 5.32.2. * gnu/packages/python-xyz.scm (snakemake): Update to 5.32.2. [arguments]: Adjust patch in call-wrapper-not-wrapped-snakemake. --- gnu/packages/python-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 4dae9eee9e..361626a128 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -7942,13 +7942,13 @@ Python.") (define-public snakemake (package (name "snakemake") - (version "5.7.1") + (version "5.32.2") (source (origin (method url-fetch) (uri (pypi-uri "snakemake" version)) (sha256 - (base32 "1pnpvvn8n2a78cg360wz3ldmpqrsm2wzi0c0dmvki9fnsw6fxdas")))) + (base32 "13013gdavwvyj1qr9xfi9fpwhb3km8c3z53bja5b7ic3sb2z6dgz")))) (build-system python-build-system) (arguments ;; TODO: Package missing test dependencies. @@ -7960,7 +7960,7 @@ Python.") ;; this by calling the snakemake wrapper instead. (add-after 'unpack 'call-wrapper-not-wrapped-snakemake (lambda* (#:key outputs #:allow-other-keys) - (substitute* "snakemake/executors.py" + (substitute* "snakemake/executors/__init__.py" (("\\{sys.executable\\} -m snakemake") (string-append (assoc-ref outputs "out") "/bin/snakemake"))) From 5fa4814b4f12b82a7a7747bfacfb45b0348eae1e Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 12 Mar 2021 13:09:26 +0100 Subject: [PATCH 0436/1003] gnu: lisp-repl-core-dumper: Update to 0.7.0. * gnu/packages/lisp.scm (lisp-repl-core-dumper): Update to 0.7.0. --- gnu/packages/lisp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index a60f49a04a..c91bf55ac5 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -1090,7 +1090,7 @@ assembler, PEG) is less than 1MB.") (define-public lisp-repl-core-dumper (package (name "lisp-repl-core-dumper") - (version "0.6.0") + (version "0.7.0") (source (origin (method git-fetch) @@ -1099,7 +1099,7 @@ assembler, PEG) is less than 1MB.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0f9rfi8lszm0v35f9vfxxdvwm8fc5909qdsrwj7c2jvl6iaa9n6p")))) + (base32 "0yfsyxj462yi3bx587yssp4gwb54jdm6fjk9q93gjrfv8a65ilp7")))) (build-system copy-build-system) (arguments '(#:install-plan From 4d0fdde344509c4fa37bc7e5dd1e391fd50a8b2e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 12 Mar 2021 13:34:13 +0100 Subject: [PATCH 0437/1003] gnu: Add python-statannot. * gnu/packages/python-science.scm (python-statannot): New variable. --- gnu/packages/python-science.scm | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index a1e2b57669..5221f41af7 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2020 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2020, 2021 Ricardo Wurmus ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2016 Ben Woodcroft ;;; Copyright © 2016 Hartmut Goebel @@ -531,3 +531,29 @@ serialization and deserialization of numerical and array data types provided by numpy using the highly efficient @code{msgpack} format. Serialization of Python's native complex data types is also supported.") (license license:bsd-3))) + +(define-public python-statannot + (package + (name "python-statannot") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "statannot" version)) + (sha256 + (base32 + "1f8c2sylzr7lpjbyqxsqlp9xi8rj3d8c9hfh98x4jbb83zxc4026")))) + (build-system python-build-system) + (propagated-inputs + `(("python-numpy" ,python-numpy) + ("python-seaborn" ,python-seaborn) + ("python-matplotlib" ,python-matplotlib) + ("python-pandas" ,python-pandas) + ("python-scipy" ,python-scipy))) + (home-page + "https://github.com/webermarcolivier/statannot") + (synopsis "Add annotations to existing plots generated by seaborn") + (description + "This is a Python package to compute statistical test and add statistical +annotations on an existing boxplots and barplots generated by seaborn.") + (license license:expat))) From 456355c2538be4288b407ace7d0d769fb16a2076 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 12 Mar 2021 13:56:12 +0100 Subject: [PATCH 0438/1003] gnu: Add python-upsetplot. * gnu/packages/python-science.scm (python-upsetplot): New variable. --- gnu/packages/python-science.scm | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 5221f41af7..391d37dcce 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -557,3 +557,40 @@ Python's native complex data types is also supported.") "This is a Python package to compute statistical test and add statistical annotations on an existing boxplots and barplots generated by seaborn.") (license license:expat))) + +(define-public python-upsetplot + (package + (name "python-upsetplot") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "UpSetPlot" version)) + (sha256 + (base32 + "0kwljcmsvrxm33y3ssham2bwv4a5m31mv96y9h18va0cv7s3mqn1")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-versioning + (lambda _ + (substitute* "setup.py" + (("pytest-cov<2.6") "pytest-cov")))) + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "-v" "--doctest-modules")))))) + (propagated-inputs + `(("python-matplotlib" ,python-matplotlib) + ("python-pandas" ,python-pandas))) + (native-inputs + `(("python-pytest-runner" ,python-pytest-runner) + ("python-pytest-cov" ,python-pytest-cov))) + (home-page "https://upsetplot.readthedocs.io") + (synopsis "Draw UpSet plots with Pandas and Matplotlib") + (description + "This is a Python implementation of UpSet plots by Lex et al. +UpSet plots are used to visualize set overlaps; like Venn diagrams but more +readable.") + (license license:bsd-3))) From 8a51be3cddf2b829e4234a23aad347fb2381281a Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Fri, 12 Mar 2021 14:06:18 +0100 Subject: [PATCH 0439/1003] gnu: Add r-prereg. * gnu/packages/cran.scm (r-prereg): New variable. --- gnu/packages/cran.scm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 9ec0d952c0..b65288390b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -26,7 +26,7 @@ ;;; Copyright © 2020 Eric Brown ;;; Copyright © 2020 Peter Lo ;;; Copyright © 2020 Rafael Luque Leiva -;;; Copyright © 2020 Lars-Dominik Braun +;;; Copyright © 2020, 2021 Lars-Dominik Braun ;;; Copyright © 2020 Vinicius Monego ;;; Copyright © 2020 Antoine Côté ;;; Copyright © 2020 Arun Isaac @@ -27290,3 +27290,26 @@ from a source package. @code{pkgdown} converts your documentation, vignettes, README file, and more to HTML making it easy to share information about your package online.") (license license:expat))) + +(define-public r-prereg + (package + (name "r-prereg") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "prereg" version)) + (sha256 + (base32 + "0bck13iiaxwpqh0rd45mp1s5d8z62ggg0wa7rmyi8a65aywiypsi")))) + (properties `((upstream-name . "prereg"))) + (build-system r-build-system) + (propagated-inputs + `(("r-rmarkdown" ,r-rmarkdown))) + (home-page "https://github.com/crsh/prereg") + (synopsis + "R Markdown Templates to preregister Scientific Studies") + (description + "This package provides a collection of templates to author +preregistration documents for scientific studies in PDF format.") + (license license:gpl3))) From 23bfd152c286b7b6fd9ca6921ec9f78474e973db Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Fri, 12 Mar 2021 14:09:45 +0100 Subject: [PATCH 0440/1003] gnu: Add r-ez. * gnu/packages/cran.scm (r-ez): New variable. --- gnu/packages/cran.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b65288390b..e6b205077b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27313,3 +27313,43 @@ package online.") "This package provides a collection of templates to author preregistration documents for scientific studies in PDF format.") (license license:gpl3))) + +(define-public r-ez + (package + (name "r-ez") + (version "4.4-0") + (source + (origin + (method url-fetch) + (uri (cran-uri "ez" version)) + (sha256 + (base32 + "0a58s94x576dfz7wcbivrr2hmdh5x1vy16zwkqp9fmdzqx38pagq")))) + (properties `((upstream-name . "ez"))) + (build-system r-build-system) + (propagated-inputs + `(("r-car" ,r-car) + ("r-ggplot2" ,r-ggplot2) + ("r-lme4" ,r-lme4) + ("r-mass" ,r-mass) + ("r-matrix" ,r-matrix) + ("r-mgcv" ,r-mgcv) + ("r-plyr" ,r-plyr) + ("r-reshape2" ,r-reshape2) + ("r-scales" ,r-scales) + ("r-stringr" ,r-stringr))) + (home-page "https://github.com/mike-lawrence/ez") + (synopsis "Easy Analysis and Visualization of Factorial Experiments") + (description + "Facilitates easy analysis of factorial experiments, including purely +within-Ss designs (a.k.a. \"repeated measures\"), purely between-Ss designs, +and mixed within-and-between-Ss designs. The functions in this package aim to +provide simple, intuitive and consistent specification of data analysis and +visualization. Visualization functions also include design visualization for +pre-analysis data auditing, and correlation matrix visualization. Finally, +this package includes functions for non-parametric analysis, including +permutation tests and bootstrap resampling. The bootstrap function obtains +predictions either by cell means or by more advanced/powerful mixed effects +models, yielding predictions and confidence intervals that may be easily +visualized at any level of the experiment's design.") + (license license:gpl2+))) From 3a82f1fba2acdcaacd40d4730f3f84ccf0717392 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Fri, 12 Mar 2021 14:22:17 +0100 Subject: [PATCH 0441/1003] gnu: Add r-quantpsyc. * gnu/packages/statistics.scm (r-quantpsyc): New variable. --- gnu/packages/statistics.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 6ef89185f1..65a210a63b 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5931,3 +5931,24 @@ popular stats packages like SAS, Stata and SPSS.") (home-page "https://github.com/WizardMac/ReadStat") (license license:expat))) +(define-public r-quantpsyc + (package + (name "r-quantpsyc") + (version "1.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "QuantPsyc" version)) + (sha256 + (base32 + "1i9bh88r8zxndzjqsj14qw64gnvm5a9kvhjhzk3qsrvl3qzjgh93")))) + (properties `((upstream-name . "QuantPsyc"))) + (build-system r-build-system) + (propagated-inputs + `(("r-boot" ,r-boot) ("r-mass" ,r-mass))) + (home-page "https://cran.r-project.org/web/packages/QuantPsyc/") + (synopsis "Quantitative Psychology Tools") + (description + "Contains functions useful for data screening, testing moderation, +mediation and estimating power.") + (license license:gpl2+))) From 28df54d77675a2247de17a8e45f57a0c613fb152 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Fri, 12 Mar 2021 14:26:13 +0100 Subject: [PATCH 0442/1003] gnu: Add r-clubsandwich. * gnu/packages/statistics.scm (r-clubsandwich): New variable. --- gnu/packages/statistics.scm | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 65a210a63b..3f3c4e3912 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5952,3 +5952,41 @@ popular stats packages like SAS, Stata and SPSS.") "Contains functions useful for data screening, testing moderation, mediation and estimating power.") (license license:gpl2+))) + +(define-public r-clubsandwich + (package + (name "r-clubsandwich") + (version "0.5.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "clubSandwich" version)) + (sha256 + (base32 + "0jazgka18bb5n58d5sn94q7rc9sac82qrpl2i5b4rkx9q2pb39cn")))) + (properties `((upstream-name . "clubSandwich"))) + (build-system r-build-system) + (propagated-inputs + `(("r-sandwich" ,r-sandwich))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/jepusto/clubSandwich") + (synopsis "Cluster-Robust (Sandwich) Variance Estimators with Small-Sample +Corrections") + (description + "Provides several cluster-robust variance estimators (i.e., +sandwich estimators) for ordinary and weighted least squares linear regression +models, including the bias-reduced linearization estimator introduced by Bell +and McCaffrey (2002) +@url{http://www.statcan.gc.ca/pub/12-001-x/2002002/article/9058-eng.pdf} and +developed further by Pustejovsky and Tipton (2017) +@url{doi:10.1080/07350015.2016.1247004}. The package includes functions for estimating +the variance- covariance matrix and for testing single- and multiple- +contrast hypotheses based on Wald test statistics. Tests of single regression +coefficients use Satterthwaite or saddle-point corrections. Tests of multiple- +contrast hypotheses use an approximation to Hotelling's T-squared distribution. +Methods are provided for a variety of fitted models, including @code{lm()} and +@code{mlm} objects, @code{glm()}, ivreg (from package @code{AER}), @code{plm()} +(from package @code{plm}), @code{gls()} and @code{lme()} (from @code{nlme}), +@code{robu()} (from @code{robumeta}), and @code{rma.uni()} and @code{rma.mv()} +(from @code{metafor}).") + (license license:gpl3))) From 8a8e8198ec4ebedd0400c8adcd85e15da3d43ca0 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Fri, 12 Mar 2021 14:29:07 +0100 Subject: [PATCH 0443/1003] gnu: Add r-puniform. * gnu/packages/statistics.scm (r-puniform): New variable. --- gnu/packages/statistics.scm | 68 +++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 3f3c4e3912..9761b9ceaf 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5990,3 +5990,71 @@ Methods are provided for a variety of fitted models, including @code{lm()} and @code{robu()} (from @code{robumeta}), and @code{rma.uni()} and @code{rma.mv()} (from @code{metafor}).") (license license:gpl3))) + +(define-public r-puniform + (package + (name "r-puniform") + (version "0.2.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "puniform" version)) + (sha256 + (base32 + "0v2977y9cwjx74xk0ig745g09wn7nrcsrg4f6v315sglsm18iaa8")))) + (properties `((upstream-name . "puniform"))) + (build-system r-build-system) + (propagated-inputs + `(("r-adgoftest" ,r-adgoftest) + ("r-metafor" ,r-metafor) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo))) + (home-page + "https://github.com/RobbievanAert/puniform") + (synopsis + "Meta-Analysis Methods Correcting for Publication Bias") + (description + "This package provides meta-analysis methods that correct for publication +bias and outcome reporting bias. Four methods and a visual tool are currently +included in the package. + +@enumerate +@item The p-uniform method as described in van Assen, van Aert, and Wicherts +(2015) @url{doi:10.1037/met0000025} can be used for estimating the average +effect size, testing the null hypothesis of no effect, and testing for +publication bias using only the statistically significant effect sizes of +primary studies. + +@item The p-uniform* method as described in van Aert and van Assen (2019) +@url{doi:10.31222/osf.io/zqjr9}. This method is an extension of the p-uniform +method that allows for estimation of the average effect size and the +between-study variance in a meta-analysis, and uses both the statistically +significant and nonsignificant effect sizes. + +@item The hybrid method as described in van Aert and van Assen (2017) +@url{doi:10.3758/s13428-017-0967-6}. The hybrid method is a meta-analysis +method for combining an original study and replication and while taking into +account statistical significance of the original study. The p-uniform and +hybrid method are based on the statistical theory that the distribution of +p-values is uniform conditional on the population effect size. + +@item +The fourth method in the package is the Snapshot Bayesian Hybrid Meta-Analysis +Method as described in van Aert and van Assen (2018) +@url{doi:10.1371/journal.pone.0175302}. This method computes posterior +probabilities for four true effect sizes (no, small, medium, and large) based +on an original study and replication while taking into account publication bias +in the original study. The method can also be used for computing the required +sample size of the replication akin to power analysis in null hypothesis +significance testing. +@end enumerate + +The meta-plot is a visual tool for meta-analysis that +provides information on the primary studies in the meta-analysis, the results +of the meta-analysis, and characteristics of the research on the effect under +study (van Assen and others, 2020). + +Helper functions to apply the Correcting for Outcome Reporting Bias (CORB) +method to correct for outcome reporting bias in a meta-analysis (van Aert & +Wicherts, 2020).") + (license license:gpl2+))) From 4f617bfb8ee04df9bd572928ba13dda265f4366f Mon Sep 17 00:00:00 2001 From: zimoun Date: Thu, 11 Mar 2021 15:46:59 +0100 Subject: [PATCH 0444/1003] gnu: r-circrnaprofiler: Update to 1.4.2. * gnu/packages/bioconductor.scm (r-circrnaprofiler): Update to 1.4.2. --- gnu/packages/bioconductor.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 0899a013d5..04778e668a 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus ;;; Copyright © 2016, 2017, 2018, 2020 Roel Janssen ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice -;;; Copyright © 2019, 2020 Simon Tournier +;;; Copyright © 2019, 2020, 2021 Simon Tournier ;;; Copyright © 2020 Peter Lo ;;; Copyright © 2020, 2021 Mădălin Ionel Patrașcu ;;; Copyright © 2020 Jakub Kądziołka @@ -6813,14 +6813,14 @@ accessibility data.") (define-public r-circrnaprofiler (package (name "r-circrnaprofiler") - (version "1.4.0") + (version "1.4.2") (source (origin (method url-fetch) (uri (bioconductor-uri "circRNAprofiler" version)) (sha256 (base32 - "1rwpl9a5p5242aiapik0vf4ywqh7m6phzl8z8qmzcy0imbx7mpbn")))) + "0r1hfm3pc7c71irzmxmdwc27ns9hkymz4vhb4pqbli4xn37q7cg8")))) (properties `((upstream-name . "circRNAprofiler"))) (build-system r-build-system) From 8c8d365ca32987ce0a80369b6e195b81918a22d2 Mon Sep 17 00:00:00 2001 From: zimoun Date: Thu, 11 Mar 2021 15:47:00 +0100 Subject: [PATCH 0445/1003] gnu: r-chemminer: Update to 3.42.2. * gnu/packages/bioconductor.scm (r-chemminer): Update to 3.42.2. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 04778e668a..35dab51595 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -7915,14 +7915,14 @@ visualizing RNA-sequencing datasets and differentially expressed genes.") (define-public r-chemminer (package (name "r-chemminer") - (version "3.42.1") + (version "3.42.2") (source (origin (method url-fetch) (uri (bioconductor-uri "ChemmineR" version)) (sha256 (base32 - "1853w19042c53whdnrfg1v8f07wpswf2si8q4613yrcamzg2zjkx")))) + "10d8h6w24h4s7l02zzv6q46w3yiqsjizip7mf11cvkmd6p7qxfl9")))) (properties `((upstream-name . "ChemmineR"))) (build-system r-build-system) (propagated-inputs From 2528cad4510d871f56f88e3fb2b35c22d3113855 Mon Sep 17 00:00:00 2001 From: zimoun Date: Thu, 11 Mar 2021 15:47:01 +0100 Subject: [PATCH 0446/1003] gnu: r-bioassayr: Update to 1.28.2. * gnu/packages/bioconductor.scm (r-bioassayr): Update to 1.28.2. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 35dab51595..0c8d448a67 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -7956,14 +7956,14 @@ structures.") (define-public r-bioassayr (package (name "r-bioassayr") - (version "1.28.0") + (version "1.28.2") (source (origin (method url-fetch) (uri (bioconductor-uri "bioassayR" version)) (sha256 (base32 - "0vxnd8wnhjdfqh47nc6y1ffiy5r9a6n3g2hyk1r9bv6vhrd0ns3f")))) + "0ylnnm31jkmi8zz78kngqv36yn6i5lvjp1i27v59svw13m4r03g5")))) (properties `((upstream-name . "bioassayR"))) (build-system r-build-system) (propagated-inputs From 323aec6ad970c0028e43912130c4615fe1e0e537 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 12 Mar 2021 14:40:06 +0100 Subject: [PATCH 0447/1003] gnu: r-bioassayr: Update home page. * gnu/packages/bioconductor.scm (r-bioassayr)[home-page]: Follow permanent redirect. --- gnu/packages/bioconductor.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 0c8d448a67..ae8bae4bd9 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -7976,7 +7976,7 @@ structures.") ("r-xml" ,r-xml))) (native-inputs `(("r-knitr" ,r-knitr))) - (home-page "https://github.com/TylerBackman/bioassayR") + (home-page "https://github.com/girke-lab/bioassayR") (synopsis "Cross-target analysis of small molecule bioactivity") (description "bioassayR is a computational tool that enables simultaneous analysis of From a35ea5fed953df46cb33e517487e0eac528ec027 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 8 Mar 2021 18:57:54 +0100 Subject: [PATCH 0448/1003] gnu: r-genefilter: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-genefilter): Move from here... * gnu/packages/bioconductor.scm (r-genefilter): ...to here. --- gnu/packages/bioconductor.scm | 28 ++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 28 ---------------------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index ae8bae4bd9..f6f7766b49 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1487,6 +1487,34 @@ structure.") microarrays.") (license license:artistic2.0))) +(define-public r-genefilter + (package + (name "r-genefilter") + (version "1.72.1") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "genefilter" version)) + (sha256 + (base32 + "1c6h3qnjvphs977qhv5vafvsb108r0q7xhaayly6qv6adqfn94rn")))) + (build-system r-build-system) + (native-inputs + `(("gfortran" ,gfortran) + ("r-knitr" ,r-knitr))) + (propagated-inputs + `(("r-annotate" ,r-annotate) + ("r-annotationdbi" ,r-annotationdbi) + ("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-survival" ,r-survival))) + (home-page "https://bioconductor.org/packages/genefilter") + (synopsis "Filter genes from high-throughput experiments") + (description + "This package provides basic functions for filtering genes from +high-throughput sequencing experiments.") + (license license:artistic2.0))) + (define-public r-hpar (package (name "r-hpar") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index b258b796f7..557961b664 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7387,34 +7387,6 @@ includes software to ") (license license:cc0)))) -(define-public r-genefilter - (package - (name "r-genefilter") - (version "1.72.1") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "genefilter" version)) - (sha256 - (base32 - "1c6h3qnjvphs977qhv5vafvsb108r0q7xhaayly6qv6adqfn94rn")))) - (build-system r-build-system) - (native-inputs - `(("gfortran" ,gfortran) - ("r-knitr" ,r-knitr))) - (propagated-inputs - `(("r-annotate" ,r-annotate) - ("r-annotationdbi" ,r-annotationdbi) - ("r-biobase" ,r-biobase) - ("r-biocgenerics" ,r-biocgenerics) - ("r-survival" ,r-survival))) - (home-page "https://bioconductor.org/packages/genefilter") - (synopsis "Filter genes from high-throughput experiments") - (description - "This package provides basic functions for filtering genes from -high-throughput sequencing experiments.") - (license license:artistic2.0))) - (define-public r-deseq2 (package (name "r-deseq2") From 373545855dd8434add9523d3cd51be66d60e8503 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 8 Mar 2021 18:57:55 +0100 Subject: [PATCH 0449/1003] gnu: r-deseq2: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-deseq2): Move from here... * gnu/packages/bioconductor.scm (r-deseq2): ...to here. --- gnu/packages/bioconductor.scm | 38 +++++++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 38 --------------------------------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index f6f7766b49..685ce10d6a 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1487,6 +1487,44 @@ structure.") microarrays.") (license license:artistic2.0))) +(define-public r-deseq2 + (package + (name "r-deseq2") + (version "1.30.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "DESeq2" version)) + (sha256 + (base32 + "0q2f9cywrcmp1p7ii8f45g4dk4hsnjflq3yqhsxgnpv9fw338qpp")))) + (properties `((upstream-name . "DESeq2"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-biocparallel" ,r-biocparallel) + ("r-genefilter" ,r-genefilter) + ("r-geneplotter" ,r-geneplotter) + ("r-genomicranges" ,r-genomicranges) + ("r-ggplot2" ,r-ggplot2) + ("r-iranges" ,r-iranges) + ("r-locfit" ,r-locfit) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo) + ("r-s4vectors" ,r-s4vectors) + ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/DESeq2") + (synopsis "Differential gene expression analysis") + (description + "This package provides functions to estimate variance-mean dependence in +count data from high-throughput nucleotide sequencing assays and test for +differential expression based on a model using the negative binomial +distribution.") + (license license:lgpl3+))) + (define-public r-genefilter (package (name "r-genefilter") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 557961b664..8f3e3f996b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7387,44 +7387,6 @@ includes software to ") (license license:cc0)))) -(define-public r-deseq2 - (package - (name "r-deseq2") - (version "1.30.0") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "DESeq2" version)) - (sha256 - (base32 - "0q2f9cywrcmp1p7ii8f45g4dk4hsnjflq3yqhsxgnpv9fw338qpp")))) - (properties `((upstream-name . "DESeq2"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biobase" ,r-biobase) - ("r-biocgenerics" ,r-biocgenerics) - ("r-biocparallel" ,r-biocparallel) - ("r-genefilter" ,r-genefilter) - ("r-geneplotter" ,r-geneplotter) - ("r-genomicranges" ,r-genomicranges) - ("r-ggplot2" ,r-ggplot2) - ("r-iranges" ,r-iranges) - ("r-locfit" ,r-locfit) - ("r-rcpp" ,r-rcpp) - ("r-rcpparmadillo" ,r-rcpparmadillo) - ("r-s4vectors" ,r-s4vectors) - ("r-summarizedexperiment" ,r-summarizedexperiment))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/DESeq2") - (synopsis "Differential gene expression analysis") - (description - "This package provides functions to estimate variance-mean dependence in -count data from high-throughput nucleotide sequencing assays and test for -differential expression based on a model using the negative binomial -distribution.") - (license license:lgpl3+))) - (define-public r-dexseq (package (name "r-dexseq") From d769b10714ba4ab96a27933b6840265cf6e06f37 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 8 Mar 2021 18:57:56 +0100 Subject: [PATCH 0450/1003] gnu: r-dexseq: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-dexseq): Move from here... * gnu/packages/bioconductor.scm (r-dexseq): ...to here. --- gnu/packages/bioconductor.scm | 45 +++++++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 45 --------------------------------- 2 files changed, 45 insertions(+), 45 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 685ce10d6a..0c36b01545 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1525,6 +1525,51 @@ differential expression based on a model using the negative binomial distribution.") (license license:lgpl3+))) +(define-public r-dexseq + (package + (name "r-dexseq") + (version "1.36.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "DEXSeq" version)) + (sha256 + (base32 + "0wfjb42xcr4wjy8a654b74411dky8hp6sp8xdwf0sxqgsxy106qi")))) + (properties `((upstream-name . "DEXSeq"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotationdbi" ,r-annotationdbi) + ("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-biocparallel" ,r-biocparallel) + ("r-biomart" ,r-biomart) + ("r-deseq2" ,r-deseq2) + ("r-genefilter" ,r-genefilter) + ("r-geneplotter" ,r-geneplotter) + ("r-genomicranges" ,r-genomicranges) + ("r-hwriter" ,r-hwriter) + ("r-iranges" ,r-iranges) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-rsamtools" ,r-rsamtools) + ("r-s4vectors" ,r-s4vectors) + ("r-statmod" ,r-statmod) + ("r-stringr" ,r-stringr) + ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/DEXSeq") + (synopsis "Inference of differential exon usage in RNA-Seq") + (description + "This package is focused on finding differential exon usage using RNA-seq +exon counts between samples with different experimental designs. It provides +functions that allows the user to make the necessary statistical tests based +on a model that uses the negative binomial distribution to estimate the +variance between biological replicates and generalized linear models for +testing. The package also provides functions for the visualization and +exploration of the results.") + (license license:gpl3+))) + (define-public r-genefilter (package (name "r-genefilter") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 8f3e3f996b..41372879fe 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7387,51 +7387,6 @@ includes software to ") (license license:cc0)))) -(define-public r-dexseq - (package - (name "r-dexseq") - (version "1.36.0") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "DEXSeq" version)) - (sha256 - (base32 - "0wfjb42xcr4wjy8a654b74411dky8hp6sp8xdwf0sxqgsxy106qi")))) - (properties `((upstream-name . "DEXSeq"))) - (build-system r-build-system) - (propagated-inputs - `(("r-annotationdbi" ,r-annotationdbi) - ("r-biobase" ,r-biobase) - ("r-biocgenerics" ,r-biocgenerics) - ("r-biocparallel" ,r-biocparallel) - ("r-biomart" ,r-biomart) - ("r-deseq2" ,r-deseq2) - ("r-genefilter" ,r-genefilter) - ("r-geneplotter" ,r-geneplotter) - ("r-genomicranges" ,r-genomicranges) - ("r-hwriter" ,r-hwriter) - ("r-iranges" ,r-iranges) - ("r-rcolorbrewer" ,r-rcolorbrewer) - ("r-rsamtools" ,r-rsamtools) - ("r-s4vectors" ,r-s4vectors) - ("r-statmod" ,r-statmod) - ("r-stringr" ,r-stringr) - ("r-summarizedexperiment" ,r-summarizedexperiment))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/DEXSeq") - (synopsis "Inference of differential exon usage in RNA-Seq") - (description - "This package is focused on finding differential exon usage using RNA-seq -exon counts between samples with different experimental designs. It provides -functions that allows the user to make the necessary statistical tests based -on a model that uses the negative binomial distribution to estimate the -variance between biological replicates and generalized linear models for -testing. The package also provides functions for the visualization and -exploration of the results.") - (license license:gpl3+))) - (define-public r-annotationforge (package (name "r-annotationforge") From ff92c2873c0c8ab9fa6e90020d656aac47dfb088 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 8 Mar 2021 18:57:57 +0100 Subject: [PATCH 0451/1003] gnu: r-annotationforge: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-annotationforge): Move from here... * gnu/packages/bioconductor.scm (r-annotationforge): ...to here. --- gnu/packages/bioconductor.scm | 32 ++++++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 32 -------------------------------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 0c36b01545..c698178067 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1487,6 +1487,38 @@ structure.") microarrays.") (license license:artistic2.0))) +(define-public r-annotationforge + (package + (name "r-annotationforge") + (version "1.32.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "AnnotationForge" version)) + (sha256 + (base32 + "0y3820dkvwz09wlmz9drx6gqpsr9cwppaiz40zafwfxbz65y8px7")))) + (properties + `((upstream-name . "AnnotationForge"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotationdbi" ,r-annotationdbi) + ("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-dbi" ,r-dbi) + ("r-rcurl" ,r-rcurl) + ("r-rsqlite" ,r-rsqlite) + ("r-s4vectors" ,r-s4vectors) + ("r-xml" ,r-xml))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/AnnotationForge") + (synopsis "Code for building annotation database packages") + (description + "This package provides code for generating Annotation packages and their +databases. Packages produced are intended to be used with AnnotationDbi.") + (license license:artistic2.0))) + (define-public r-deseq2 (package (name "r-deseq2") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 41372879fe..575158577c 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7387,38 +7387,6 @@ includes software to ") (license license:cc0)))) -(define-public r-annotationforge - (package - (name "r-annotationforge") - (version "1.32.0") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "AnnotationForge" version)) - (sha256 - (base32 - "0y3820dkvwz09wlmz9drx6gqpsr9cwppaiz40zafwfxbz65y8px7")))) - (properties - `((upstream-name . "AnnotationForge"))) - (build-system r-build-system) - (propagated-inputs - `(("r-annotationdbi" ,r-annotationdbi) - ("r-biobase" ,r-biobase) - ("r-biocgenerics" ,r-biocgenerics) - ("r-dbi" ,r-dbi) - ("r-rcurl" ,r-rcurl) - ("r-rsqlite" ,r-rsqlite) - ("r-s4vectors" ,r-s4vectors) - ("r-xml" ,r-xml))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/AnnotationForge") - (synopsis "Code for building annotation database packages") - (description - "This package provides code for generating Annotation packages and their -databases. Packages produced are intended to be used with AnnotationDbi.") - (license license:artistic2.0))) - (define-public r-rbgl (package (name "r-rbgl") From f44079bc2151979cde33704fec73f1da1726a2f5 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 8 Mar 2021 18:57:58 +0100 Subject: [PATCH 0452/1003] gnu: r-rbgl: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-rbgl): Move from here... * gnu/packages/bioconductor.scm (r-rbgl): ...to here. --- gnu/packages/bioconductor.scm | 23 +++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 23 ----------------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index c698178067..1c298d61cf 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1650,6 +1650,29 @@ high-throughput sequencing experiments.") the Human Protein Atlas project.") (license license:artistic2.0))) +(define-public r-rbgl + (package + (name "r-rbgl") + (version "1.66.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "RBGL" version)) + (sha256 + (base32 + "016vyzgixb3gjpzi21rbs6ngnnqcxr77krwjjf1ldnzzj8vqrqsz")))) + (properties `((upstream-name . "RBGL"))) + (build-system r-build-system) + (propagated-inputs + `(("r-bh" ,r-bh) + ("r-graph" ,r-graph))) + (home-page "https://www.bioconductor.org/packages/RBGL") + (synopsis "Interface to the Boost graph library") + (description + "This package provides a fairly extensive and comprehensive interface to +the graph algorithms contained in the Boost library.") + (license license:artistic2.0))) + (define-public r-regioner (package (name "r-regioner") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 575158577c..788f780f8d 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7387,29 +7387,6 @@ includes software to ") (license license:cc0)))) -(define-public r-rbgl - (package - (name "r-rbgl") - (version "1.66.0") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "RBGL" version)) - (sha256 - (base32 - "016vyzgixb3gjpzi21rbs6ngnnqcxr77krwjjf1ldnzzj8vqrqsz")))) - (properties `((upstream-name . "RBGL"))) - (build-system r-build-system) - (propagated-inputs - `(("r-bh" ,r-bh) - ("r-graph" ,r-graph))) - (home-page "https://www.bioconductor.org/packages/RBGL") - (synopsis "Interface to the Boost graph library") - (description - "This package provides a fairly extensive and comprehensive interface to -the graph algorithms contained in the Boost library.") - (license license:artistic2.0))) - (define-public r-gseabase (package (name "r-gseabase") From 031fdda47af642d4316e128f9ca0c3fe2cf8b4bb Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 8 Mar 2021 18:57:59 +0100 Subject: [PATCH 0453/1003] gnu: r-gseabase: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-gseabase): Move from here... * gnu/packages/bioconductor.scm (r-gseabase): ...to here. --- gnu/packages/bioconductor.scm | 29 +++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 29 ----------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 1c298d61cf..a89797adc8 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1630,6 +1630,35 @@ exploration of the results.") high-throughput sequencing experiments.") (license license:artistic2.0))) +(define-public r-gseabase + (package + (name "r-gseabase") + (version "1.52.1") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "GSEABase" version)) + (sha256 + (base32 + "0dawh1kjmf6921jm77j2s2phrq5237pjc4sdh8fkln89gf48zx6i")))) + (properties `((upstream-name . "GSEABase"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotate" ,r-annotate) + ("r-annotationdbi" ,r-annotationdbi) + ("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-graph" ,r-graph) + ("r-xml" ,r-xml))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/GSEABase") + (synopsis "Gene set enrichment data structures and methods") + (description + "This package provides classes and methods to support @dfn{Gene Set +Enrichment Analysis} (GSEA).") + (license license:artistic2.0))) + (define-public r-hpar (package (name "r-hpar") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 788f780f8d..4daaacd0cc 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7387,35 +7387,6 @@ includes software to ") (license license:cc0)))) -(define-public r-gseabase - (package - (name "r-gseabase") - (version "1.52.1") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "GSEABase" version)) - (sha256 - (base32 - "0dawh1kjmf6921jm77j2s2phrq5237pjc4sdh8fkln89gf48zx6i")))) - (properties `((upstream-name . "GSEABase"))) - (build-system r-build-system) - (propagated-inputs - `(("r-annotate" ,r-annotate) - ("r-annotationdbi" ,r-annotationdbi) - ("r-biobase" ,r-biobase) - ("r-biocgenerics" ,r-biocgenerics) - ("r-graph" ,r-graph) - ("r-xml" ,r-xml))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/GSEABase") - (synopsis "Gene set enrichment data structures and methods") - (description - "This package provides classes and methods to support @dfn{Gene Set -Enrichment Analysis} (GSEA).") - (license license:artistic2.0))) - (define-public r-category (package (name "r-category") From 4e7cf96c9f12c31152f4c67a1ce4d7d2ad9b2461 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 8 Mar 2021 18:58:00 +0100 Subject: [PATCH 0454/1003] gnu: r-category: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-category): Move from here... * gnu/packages/bioconductor.scm (r-category): ...to here. --- gnu/packages/bioconductor.scm | 31 +++++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 31 ------------------------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index a89797adc8..aa172c5244 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1519,6 +1519,37 @@ microarrays.") databases. Packages produced are intended to be used with AnnotationDbi.") (license license:artistic2.0))) +(define-public r-category + (package + (name "r-category") + (version "2.56.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "Category" version)) + (sha256 + (base32 + "0m77wpnica0h2ia9ajdaiga4plgz1s9wls6pdnxzk7kwl8a68wkr")))) + (properties `((upstream-name . "Category"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotate" ,r-annotate) + ("r-annotationdbi" ,r-annotationdbi) + ("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-genefilter" ,r-genefilter) + ("r-graph" ,r-graph) + ("r-gseabase" ,r-gseabase) + ("r-matrix" ,r-matrix) + ("r-rbgl" ,r-rbgl) + ("r-dbi" ,r-dbi))) + (home-page "https://bioconductor.org/packages/Category") + (synopsis "Category analysis") + (description + "This package provides a collection of tools for performing category +analysis.") + (license license:artistic2.0))) + (define-public r-deseq2 (package (name "r-deseq2") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 4daaacd0cc..ae3a8013f0 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7387,37 +7387,6 @@ includes software to ") (license license:cc0)))) -(define-public r-category - (package - (name "r-category") - (version "2.56.0") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "Category" version)) - (sha256 - (base32 - "0m77wpnica0h2ia9ajdaiga4plgz1s9wls6pdnxzk7kwl8a68wkr")))) - (properties `((upstream-name . "Category"))) - (build-system r-build-system) - (propagated-inputs - `(("r-annotate" ,r-annotate) - ("r-annotationdbi" ,r-annotationdbi) - ("r-biobase" ,r-biobase) - ("r-biocgenerics" ,r-biocgenerics) - ("r-genefilter" ,r-genefilter) - ("r-graph" ,r-graph) - ("r-gseabase" ,r-gseabase) - ("r-matrix" ,r-matrix) - ("r-rbgl" ,r-rbgl) - ("r-dbi" ,r-dbi))) - (home-page "https://bioconductor.org/packages/Category") - (synopsis "Category analysis") - (description - "This package provides a collection of tools for performing category -analysis.") - (license license:artistic2.0))) - (define-public r-gostats (package (name "r-gostats") From 2a9705768808ff8b76bf38a7ae9445b2c756ba46 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 8 Mar 2021 18:58:01 +0100 Subject: [PATCH 0455/1003] gnu: r-gostats: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-gostats): Move from here... * gnu/packages/bioconductor.scm (r-gostats): ...to here. --- gnu/packages/bioconductor.scm | 31 +++++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 31 ------------------------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index aa172c5244..a4618ec90a 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1661,6 +1661,37 @@ exploration of the results.") high-throughput sequencing experiments.") (license license:artistic2.0))) +(define-public r-gostats + (package + (name "r-gostats") + (version "2.56.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "GOstats" version)) + (sha256 + (base32 + "18q8p0fv9fl2r6zjxknfjwqxr69dlyxy6c8amzn6c6dwjq1cxk6j")))) + (properties `((upstream-name . "GOstats"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotate" ,r-annotate) + ("r-annotationdbi" ,r-annotationdbi) + ("r-annotationforge" ,r-annotationforge) + ("r-biobase" ,r-biobase) + ("r-category" ,r-category) + ("r-go-db" ,r-go-db) + ("r-graph" ,r-graph) + ("r-rgraphviz" ,r-rgraphviz) + ("r-rbgl" ,r-rbgl))) + (home-page "https://bioconductor.org/packages/GOstats") + (synopsis "Tools for manipulating GO and microarrays") + (description + "This package provides a set of tools for interacting with GO and +microarray data. A variety of basic manipulation tools for graphs, hypothesis +testing and other simple calculations.") + (license license:artistic2.0))) + (define-public r-gseabase (package (name "r-gseabase") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index ae3a8013f0..c4713fc5cf 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7387,37 +7387,6 @@ includes software to ") (license license:cc0)))) -(define-public r-gostats - (package - (name "r-gostats") - (version "2.56.0") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "GOstats" version)) - (sha256 - (base32 - "18q8p0fv9fl2r6zjxknfjwqxr69dlyxy6c8amzn6c6dwjq1cxk6j")))) - (properties `((upstream-name . "GOstats"))) - (build-system r-build-system) - (propagated-inputs - `(("r-annotate" ,r-annotate) - ("r-annotationdbi" ,r-annotationdbi) - ("r-annotationforge" ,r-annotationforge) - ("r-biobase" ,r-biobase) - ("r-category" ,r-category) - ("r-go-db" ,r-go-db) - ("r-graph" ,r-graph) - ("r-rgraphviz" ,r-rgraphviz) - ("r-rbgl" ,r-rbgl))) - (home-page "https://bioconductor.org/packages/GOstats") - (synopsis "Tools for manipulating GO and microarrays") - (description - "This package provides a set of tools for interacting with GO and -microarray data. A variety of basic manipulation tools for graphs, hypothesis -testing and other simple calculations.") - (license license:artistic2.0))) - (define-public r-shortread (package (name "r-shortread") From 8957efa8ef940685811b9e55eb7178ecd33abb40 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 8 Mar 2021 18:58:02 +0100 Subject: [PATCH 0456/1003] gnu: r-shortread: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-shortread): Move from here... * gnu/packages/bioconductor.scm (r-shortread): ...to here. --- gnu/packages/bioconductor.scm | 43 +++++++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 43 --------------------------------- 2 files changed, 43 insertions(+), 43 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index a4618ec90a..283ae7adf8 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1845,6 +1845,49 @@ reports together for a particular project that can be viewed in a web browser.") (license license:artistic2.0))) +(define-public r-shortread + (package + (name "r-shortread") + (version "1.48.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "ShortRead" version)) + (sha256 + (base32 + "0w4m8d3h660mmr2ymp206r1n4aqssxmkv8yxkbr5y1swrahxzfk9")))) + (properties `((upstream-name . "ShortRead"))) + (build-system r-build-system) + (inputs + `(("zlib" ,zlib))) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-biocparallel" ,r-biocparallel) + ("r-biostrings" ,r-biostrings) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicalignments" ,r-genomicalignments) + ("r-genomicranges" ,r-genomicranges) + ("r-rhtslib" ,r-rhtslib) + ("r-hwriter" ,r-hwriter) + ("r-iranges" ,r-iranges) + ("r-lattice" ,r-lattice) + ("r-latticeextra" ,r-latticeextra) + ("r-rsamtools" ,r-rsamtools) + ("r-s4vectors" ,r-s4vectors) + ("r-xvector" ,r-xvector) + ("r-zlibbioc" ,r-zlibbioc))) + (home-page "https://bioconductor.org/packages/ShortRead") + (synopsis "FASTQ input and manipulation tools") + (description + "This package implements sampling, iteration, and input of FASTQ files. +It includes functions for filtering and trimming reads, and for generating a +quality assessment report. Data are represented as +@code{DNAStringSet}-derived objects, and easily manipulated for a diversity of +purposes. The package also contains legacy support for early single-end, +ungapped alignment formats.") + (license license:artistic2.0))) + (define-public r-geneplotter (package (name "r-geneplotter") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index c4713fc5cf..f363d64550 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7387,49 +7387,6 @@ includes software to ") (license license:cc0)))) -(define-public r-shortread - (package - (name "r-shortread") - (version "1.48.0") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "ShortRead" version)) - (sha256 - (base32 - "0w4m8d3h660mmr2ymp206r1n4aqssxmkv8yxkbr5y1swrahxzfk9")))) - (properties `((upstream-name . "ShortRead"))) - (build-system r-build-system) - (inputs - `(("zlib" ,zlib))) - (propagated-inputs - `(("r-biobase" ,r-biobase) - ("r-biocgenerics" ,r-biocgenerics) - ("r-biocparallel" ,r-biocparallel) - ("r-biostrings" ,r-biostrings) - ("r-genomeinfodb" ,r-genomeinfodb) - ("r-genomicalignments" ,r-genomicalignments) - ("r-genomicranges" ,r-genomicranges) - ("r-rhtslib" ,r-rhtslib) - ("r-hwriter" ,r-hwriter) - ("r-iranges" ,r-iranges) - ("r-lattice" ,r-lattice) - ("r-latticeextra" ,r-latticeextra) - ("r-rsamtools" ,r-rsamtools) - ("r-s4vectors" ,r-s4vectors) - ("r-xvector" ,r-xvector) - ("r-zlibbioc" ,r-zlibbioc))) - (home-page "https://bioconductor.org/packages/ShortRead") - (synopsis "FASTQ input and manipulation tools") - (description - "This package implements sampling, iteration, and input of FASTQ files. -It includes functions for filtering and trimming reads, and for generating a -quality assessment report. Data are represented as -@code{DNAStringSet}-derived objects, and easily manipulated for a diversity of -purposes. The package also contains legacy support for early single-end, -ungapped alignment formats.") - (license license:artistic2.0))) - (define-public r-systempiper (package (name "r-systempiper") From df6b3c25bbaabd5153c2472a5082c24934e16492 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 8 Mar 2021 18:58:28 +0100 Subject: [PATCH 0457/1003] gnu: r-systempiper: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-systempiper): Move from here... * gnu/packages/bioconductor.scm (r-systempiper): ...to here. --- gnu/packages/bioconductor.scm | 54 +++++++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 54 --------------------------------- 2 files changed, 54 insertions(+), 54 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 283ae7adf8..526c2eecbb 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1888,6 +1888,60 @@ purposes. The package also contains legacy support for early single-end, ungapped alignment formats.") (license license:artistic2.0))) +(define-public r-systempiper + (package + (name "r-systempiper") + (version "1.24.3") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "systemPipeR" version)) + (sha256 + (base32 + "0ffazyl2q9plbhwlxi04s3fvnli6qj95n7bkjc21535bbi08xfki")))) + (properties `((upstream-name . "systemPipeR"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotate" ,r-annotate) + ("r-assertthat" ,r-assertthat) + ("r-batchtools" ,r-batchtools) + ("r-biostrings" ,r-biostrings) + ("r-deseq2" ,r-deseq2) + ("r-dot" ,r-dot) + ("r-edger" ,r-edger) + ("r-genomicfeatures" ,r-genomicfeatures) + ("r-genomicranges" ,r-genomicranges) + ("r-ggplot2" ,r-ggplot2) + ("r-go-db" ,r-go-db) + ("r-gostats" ,r-gostats) + ("r-iranges" ,r-iranges) + ("r-limma" ,r-limma) + ("r-magrittr" ,r-magrittr) + ("r-pheatmap" ,r-pheatmap) + ("r-rjson" ,r-rjson) + ("r-rsamtools" ,r-rsamtools) + ("r-rsvg" ,r-rsvg) + ("r-shortread" ,r-shortread) + ("r-stringr" ,r-stringr) + ("r-summarizedexperiment" ,r-summarizedexperiment) + ("r-yaml" ,r-yaml) + ("r-variantannotation" ,r-variantannotation))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/tgirke/systemPipeR") + (synopsis "Next generation sequencing workflow and reporting environment") + (description + "This R package provides tools for building and running automated +end-to-end analysis workflows for a wide range of @dfn{next generation +sequence} (NGS) applications such as RNA-Seq, ChIP-Seq, VAR-Seq and Ribo-Seq. +Important features include a uniform workflow interface across different NGS +applications, automated report generation, and support for running both R and +command-line software, such as NGS aligners or peak/variant callers, on local +computers or compute clusters. Efficient handling of complex sample sets and +experimental designs is facilitated by a consistently implemented sample +annotation infrastructure.") + (license license:artistic2.0))) + (define-public r-geneplotter (package (name "r-geneplotter") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f363d64550..b2d10457fe 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7387,60 +7387,6 @@ includes software to ") (license license:cc0)))) -(define-public r-systempiper - (package - (name "r-systempiper") - (version "1.24.3") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "systemPipeR" version)) - (sha256 - (base32 - "0ffazyl2q9plbhwlxi04s3fvnli6qj95n7bkjc21535bbi08xfki")))) - (properties `((upstream-name . "systemPipeR"))) - (build-system r-build-system) - (propagated-inputs - `(("r-annotate" ,r-annotate) - ("r-assertthat" ,r-assertthat) - ("r-batchtools" ,r-batchtools) - ("r-biostrings" ,r-biostrings) - ("r-deseq2" ,r-deseq2) - ("r-dot" ,r-dot) - ("r-edger" ,r-edger) - ("r-genomicfeatures" ,r-genomicfeatures) - ("r-genomicranges" ,r-genomicranges) - ("r-ggplot2" ,r-ggplot2) - ("r-go-db" ,r-go-db) - ("r-gostats" ,r-gostats) - ("r-iranges" ,r-iranges) - ("r-limma" ,r-limma) - ("r-magrittr" ,r-magrittr) - ("r-pheatmap" ,r-pheatmap) - ("r-rjson" ,r-rjson) - ("r-rsamtools" ,r-rsamtools) - ("r-rsvg" ,r-rsvg) - ("r-shortread" ,r-shortread) - ("r-stringr" ,r-stringr) - ("r-summarizedexperiment" ,r-summarizedexperiment) - ("r-yaml" ,r-yaml) - ("r-variantannotation" ,r-variantannotation))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://github.com/tgirke/systemPipeR") - (synopsis "Next generation sequencing workflow and reporting environment") - (description - "This R package provides tools for building and running automated -end-to-end analysis workflows for a wide range of @dfn{next generation -sequence} (NGS) applications such as RNA-Seq, ChIP-Seq, VAR-Seq and Ribo-Seq. -Important features include a uniform workflow interface across different NGS -applications, automated report generation, and support for running both R and -command-line software, such as NGS aligners or peak/variant callers, on local -computers or compute clusters. Efficient handling of complex sample sets and -experimental designs is facilitated by a consistently implemented sample -annotation infrastructure.") - (license license:artistic2.0))) - (define-public r-grohmm (package (name "r-grohmm") From a56b331e07f5bc44b8d2474578d295e290c9ba76 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Fri, 12 Mar 2021 14:00:41 +0100 Subject: [PATCH 0458/1003] gnu: Add gnuais. * gnu/packages/radio.scm (gnuais): New variable. --- gnu/packages/radio.scm | 45 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index b7a546eb53..32a642f8f8 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -35,14 +35,18 @@ #:use-module (gnu packages bash) #:use-module (gnu packages boost) #:use-module (gnu packages check) + #:use-module (gnu packages curl) + #:use-module (gnu packages databases) #:use-module (gnu packages documentation) #:use-module (gnu packages engineering) #:use-module (gnu packages fltk) #:use-module (gnu packages gcc) #:use-module (gnu packages gd) + #:use-module (gnu packages geo) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages image) @@ -1311,3 +1315,44 @@ methods: programs using the library: cw, cwgen, cwcp and xcwcp. The programs are intended for people who want to learn receiving and sending morse code.") (license license:gpl2+))) + +(define-public gnuais + (package + (name "gnuais") + (version "0.3.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rubund/gnuais") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rik5fdfslszdn3yvj769jzmnv9pirzf76ki33bjjzk7nkabbnlm")))) + (build-system cmake-build-system) + (native-inputs + `(("mariadb-dev" ,mariadb "dev") + ("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("curl" ,curl) + ("gtk+" ,gtk+) + ("libsoup" ,libsoup-minimal) + ("mariadb-lib" ,mariadb "lib") + ("osm-gps-map" ,osm-gps-map) + ("pulseaudio" ,pulseaudio))) + (arguments + `(#:tests? #f ; No test suite + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "src/cfgfile.c" + (("/usr/share/") + (string-append (assoc-ref outputs "out") "/share/")))))))) + (home-page "http://gnuais.sourceforge.net/") + (synopsis "AIS message demodulator and decoder") + (description + "This program contains algorithms to demodulate and decode AIS (Automatic +Identification System) messages sent by ships and coast stations.") + (license license:gpl2+))) From 77ee8af58cbf9225961b891071e1f6838cb7fc65 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Thu, 11 Mar 2021 21:18:32 +0000 Subject: [PATCH 0459/1003] gnu: stumpwm-contrib: Update to 0.0.1-3.a7dc1c. * gnu/packages/wm.scm (stumpwm-contrib): Update to 0.0.1-3.a7dc1c. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/wm.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 5d2b36f312..d6a967bece 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -39,9 +39,10 @@ ;;; Copyright © 2020 Michael Rohleder ;;; Copyright © 2020 Guillaume Le Vaillant ;;; Copyright © 2020 B. Wilson -;; Copyright © 2020 Niklas Eklund +;;; Copyright © 2020 Niklas Eklund ;;; Copyright © 2020 Robert Smith ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2021 Sharlatan Hellseher ;;; ;;; This file is part of GNU Guix. ;;; @@ -1783,8 +1784,8 @@ productive, customizable lisp based systems.") (delete 'cleanup))))))) (define stumpwm-contrib - (let ((commit "920f8fc1488f7953f205e1dda4c2ecbbbda56d63") - (revision "2")) + (let ((commit "a7dc1c663d04e6c73a4772c8a6ad56a34381096a") + (revision "3")) (package (name "stumpwm-contrib") (version (git-version "0.0.1" revision commit)) ;no upstream release @@ -1796,7 +1797,7 @@ productive, customizable lisp based systems.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0giac390bq95ag41xkxqp8jjrhfx1wpgglz7jg5rkm0wjhcwmyml")))) + (base32 "09akdaaya7lga5lzbq1aj1filsyjwvflghkidpmr0nk0jz5xx1g7")))) (build-system asdf-build-system/sbcl) (inputs `(("stumpwm" ,stumpwm "lib"))) From 2e5ac371e799cb91354ffafaf8af2da37d11fa3f Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Thu, 11 Mar 2021 21:25:21 +0000 Subject: [PATCH 0460/1003] gnu: Add sbcl-stumpwm-disk. * gnu/packages/wm.scm: (sbcl-stumpwm-disk): New variable. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/wm.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index d6a967bece..9cab0cb3db 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -2020,6 +2020,26 @@ layouts in StumpWM.") (description "Modeline support for CPU info.") (license license:gpl3+))) +(define-public sbcl-stumpwm-disk + (package + (inherit stumpwm-contrib) + (name "sbcl-stumpwm-disk") + (arguments + '(#:asd-systems '("disk") + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "modeline/disk") #t))))) + (inputs + `(("stumpwm" ,stumpwm "lib") + ("cl-diskspace" ,sbcl-cl-diskspace) + ("cl-mount-info" ,sbcl-cl-mount-info))) + (home-page "https://github.com/stumpwm/stumpwm-contrib") + (synopsis "StumpWM modeline support to show disk usage") + (description "StumpWM modeline support to show disk usage") + (license (list license:gpl2+ license:gpl3+)))) + (define-public sbcl-stumpwm-mem (package (inherit stumpwm-contrib) From 97b45977f49470d70070b2ae4c66c5b802b172a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 12 Mar 2021 14:35:51 +0100 Subject: [PATCH 0461/1003] gnu: guile-zlib: Update to 0.1.0. * gnu/packages/guile.scm (guile-zlib): Update to 0.1.0. --- gnu/packages/guile.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 8bf250a625..0dad390275 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -815,7 +815,7 @@ manipulate repositories of the Git version control system.") (define-public guile-zlib (package (name "guile-zlib") - (version "0.0.1") + (version "0.1.0") (source (origin ;; XXX: Do not use "git-fetch" method here that would create and @@ -823,12 +823,13 @@ manipulate repositories of the Git version control system.") ;; in the same method. (method url-fetch) (uri - (string-append "https://notabug.org/guile-zlib/guile-zlib/archive/" + (string-append "https://notabug.org/guile-zlib/guile-zlib/archive/v" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 + ;; content hash: 1ip18nzwnczqyhn9cpzxkm9vzpi5fz5sy96cgjhmp7cwhnkmv6zv (base32 - "1caz6cbl6sg5567nk68z88rshp0m26zmb0a9ry1jkc1ivpk0n47i")))) + "1safz7rrbdf1d98x3lgx5v74kivpyf9n1v6pdyy22vd0f2sjdir5")))) (build-system gnu-build-system) (arguments '(#:make-flags From a04aef2430645357d7796969d4b6453478ff8a3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 12 Mar 2021 14:38:10 +0100 Subject: [PATCH 0462/1003] utils: Use Guile-zlib for gzip compression and decompression. Fixes . * guix/utils.scm (decompressed-port): Call 'make-zlib-input-port' instead of invoking %GZIP. (compressed-output-port): Call 'make-zlib-output-port' instead of invoking %GZIP. * doc/guix.texi (Requirements): Require Guile-zlib >= 0.1.0. --- doc/guix.texi | 3 ++- guix/utils.scm | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 77aafafd97..4cf241c56a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -831,7 +831,8 @@ Guile,, gnutls-guile, GnuTLS-Guile}); @item @uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, version 0.1.0 or later; -@item @uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib}; +@item @uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib}, +version 0.1.0 or later; @item @uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib}; @item @uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi}; @item diff --git a/guix/utils.scm b/guix/utils.scm index 1625cab19b..21e3460b2c 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -45,6 +45,7 @@ #:use-module (ice-9 match) #:use-module (ice-9 format) #:use-module ((ice-9 iconv) #:prefix iconv:) + #:autoload (zlib) (make-zlib-input-port make-zlib-output-port) #:use-module (system foreign) #:re-export ( ;for backwards compatibility location @@ -231,7 +232,8 @@ a symbol such as 'xz." ((or #f 'none) (values input '())) ('bzip2 (filtered-port `(,%bzip2 "-dc") input)) ('xz (filtered-port `(,%xz "-dc") input)) - ('gzip (filtered-port `(,%gzip "-dc") input)) + ('gzip (values (make-zlib-input-port input #:format 'gzip) + '())) ('lzip (values (lzip-port 'make-lzip-input-port input) '())) ('zstd (values (zstd-port 'make-zstd-input-port input) @@ -292,7 +294,8 @@ program--e.g., '(\"--fast\")." ((or #f 'none) (values output '())) ('bzip2 (filtered-output-port `(,%bzip2 "-c" ,@options) output)) ('xz (filtered-output-port `(,%xz "-c" ,@options) output)) - ('gzip (filtered-output-port `(,%gzip "-c" ,@options) output)) + ('gzip (values (make-zlib-output-port output #:format 'gzip) + '())) ('lzip (values (lzip-port 'make-lzip-output-port output) '())) ('zstd (values (zstd-port 'make-zstd-output-port output) From b89714b40aed8e94f5bee33ea7e6ff98a5166355 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 11 Mar 2021 22:56:21 +0100 Subject: [PATCH 0463/1003] gnu: rust-url-2: Update to 2.2.1. * gnu/packages/crates-io.scm (rust-url-2): Update to 2.2.1. --- gnu/packages/crates-io.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index aa46a98b4d..3497a608e9 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -46522,7 +46522,7 @@ untrusted inputs in Rust.") (define-public rust-url-2 (package (name "rust-url") - (version "2.2.0") + (version "2.2.1") (source (origin (method url-fetch) @@ -46531,7 +46531,7 @@ untrusted inputs in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0vlpd0c7y9yv4x5vmb6qlnkxkj63r20wv2rysyg48l3kh6qg42ar")))) + "12qzdzgcvmc5l1fk4psldiipx80423mikb6g4a9qwb322d0rdkcw")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t From 0f0589b8cd9d1c572cb45c9d2811f84efd6183e0 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 11 Mar 2021 22:57:53 +0100 Subject: [PATCH 0464/1003] gnu: Add rust-deadpool-0.7. * gnu/packages/crates-io.scm (rust-deadpool-0.7): New variable. --- gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 3497a608e9..a001d9ca96 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -10629,6 +10629,34 @@ GF(2^n). This trait is implemented for 64, 128 and 256 bit block sizes. Big-endian order is used. WARNING: Block must be aligned!") (license (list license:expat license:asl2.0)))) +(define-public rust-deadpool-0.7 + (package + (name "rust-deadpool") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "deadpool" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0vb18xvhmyg6gvvq5vrcqmy4x26ryrmkqpsgwmb4bvkav1wn24ix")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-async-trait" ,rust-async-trait-0.1) + ("rust-config" ,rust-config-0.10) + ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.3) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-serde" ,rust-serde-1) + ("rust-tokio" ,rust-tokio-1)))) + (home-page "https://github.com/bikeshedder/deadpool") + (synopsis "Dead simple async pool") + (description + "Deadpool is a dead simple async pool for connections and objects of any +type.") + (license (list license:expat license:asl2.0)))) + (define-public rust-decimal-2 (package (name "rust-decimal") From a7c80603607bf08110ffc8500208165ce1f71f0e Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 11 Mar 2021 23:02:52 +0100 Subject: [PATCH 0465/1003] gnu: rust-ring-0.16: Update to 0.16.20. * gnu/packages/crates-io.scm (rust-ring-0.16): Update to 0.16.20. [arguments]: Skip tests. --- gnu/packages/crates-io.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index a001d9ca96..9773b10382 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -32657,19 +32657,20 @@ functionality as retain but gives mutable borrow to the predicate.") (define-public rust-ring-0.16 (package (name "rust-ring") - (version "0.16.12") + (version "0.16.20") (source (origin (method url-fetch) (uri (crate-uri "ring" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "033sb54dlmiqdivc8v9ykkq3v08lzy0syjf5k1nag2gfcknai98v")))) + (base32 "1z682xp7v38ayq9g9nkbhhfpj6ygralmlx7wdmsfv8rnw99cylrh")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libc" ,rust-libc-0.2) + `(#:tests? #false ;missing file + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-once-cell" ,rust-once-cell-1) ("rust-spin" ,rust-spin-0.5) ("rust-untrusted" ,rust-untrusted-0.7) ("rust-web-sys" ,rust-web-sys-0.3) @@ -32678,7 +32679,7 @@ functionality as retain but gives mutable borrow to the predicate.") ("rust-cc" ,rust-cc-1)) #:cargo-development-inputs (("rust-libc" ,rust-libc-0.2) - ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2)))) + ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)))) (home-page "https://github.com/briansmith/ring") (synopsis "Safe, fast, small crypto using Rust") (description "This package provided safe, fast, small crypto using Rust.") From 6fe6ab50bdd0d3306c2d22a6e7acfe92d7aea95f Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 11 Mar 2021 23:05:16 +0100 Subject: [PATCH 0466/1003] gnu: rust-webpki-0.21: Update to 0.21.4. * gnu/packages/crates-io.scm (rust-webpki-0.21): Update to 0.21.4. --- gnu/packages/crates-io.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 9773b10382..540159abe7 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -48073,14 +48073,14 @@ WebAssembly binary files.") (define-public rust-webpki-0.21 (package (name "rust-webpki") - (version "0.21.2") + (version "0.21.4") (source (origin (method url-fetch) (uri (crate-uri "webpki" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1vv3x2alvczfy6jhx79c9h00d1nliqf7s5jlvcd6npc6f8chxxgi")))) + (base32 "1sm4i8c5bw3bdhi7mjk0wpvwx55hvsmyn0k2lpa4cb161038rqxq")))) (build-system cargo-build-system) (arguments `(#:tests? #f ;; tests fail to build "missing file tests/ed25519/ee.der" From 10a1ab0d26216a877aae3b3f625092a873c8f970 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 11 Mar 2021 23:09:01 +0100 Subject: [PATCH 0467/1003] gnu: Add rust-async-tls-0.10. * gnu/packages/crates-io.scm (rust-async-tls-0.10): New variable. --- gnu/packages/crates-io.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 540159abe7..9d55aa9671 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -3251,6 +3251,32 @@ crate.") (("rust-crossbeam" ,rust-crossbeam-0.7) ("rust-futures" ,rust-futures-0.3)))))) +(define-public rust-async-tls-0.10 + (package + (name "rust-async-tls") + (version "0.10.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "async-tls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "126by0la2wvfadazfnmw7b6ch07dk9ggny94a3vvzgk2qdpqn3fx")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-io" ,rust-futures-io-0.3) + ("rust-rustls" ,rust-rustls-0.19) + ("rust-webpki" ,rust-webpki-0.21) + ("rust-webpki-roots" ,rust-webpki-roots-0.21)))) + (home-page "https://github.com/async-std/async-tls") + (synopsis "Asynchronous TLS/SSL streams using Rustls") + (description + "This package provides asynchronous TLS/SSL streams using Rustls.") + (license (list license:expat license:asl2.0)))) + (define-public rust-async-trait-0.1 (package (name "rust-async-trait") From 7d29bfd56714c7994e77ed553c9ed0fcf2a48b6f Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 12 Mar 2021 15:17:55 +0100 Subject: [PATCH 0468/1003] gnu: rust-http-client-6: Update to 6.3.4. * gnu/packages/crates-io.scm (rust-http-client-6): Update to 6.3.4. --- gnu/packages/crates-io.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 9d55aa9671..f2f5ae1001 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -18183,14 +18183,14 @@ HTTP request or response body.") (define-public rust-http-client-6 (package (name "rust-http-client") - (version "6.2.0") + (version "6.3.4") (source (origin (method url-fetch) (uri (crate-uri "http-client" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "077jw39npmjgm27hij4r825qnxq7lvkmqqlm74llkvll3fvr4001")))) + (base32 "1i0mys38gsih9kkrdbfsmd8p9lnb2nd5wch76cpkjmqk8mm2mhcq")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -18198,7 +18198,11 @@ HTTP request or response body.") (("rust-async-h1" ,rust-async-h1-2) ("rust-async-native-tls" ,rust-async-native-tls-0.3) ("rust-async-std" ,rust-async-std-1) + ("rust-async-tls" ,rust-async-tls-0.10) ("rust-async-trait" ,rust-async-trait-0.1) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-dashmap" ,rust-dashmap-4) + ("rust-deadpool" ,rust-deadpool-0.7) ("rust-futures" ,rust-futures-0.3) ("rust-futures-util" ,rust-futures-util-0.3) ("rust-http-types" ,rust-http-types-2) From 1fcaac794170629093f9b34aa99af4ddff479d1a Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 12 Mar 2021 15:18:39 +0100 Subject: [PATCH 0469/1003] gnu: rust-surf-2: Update to 2.2.0. * gnu/packages/crates-io.scm (rust-surf-2): Update to 2.2.0. --- gnu/packages/crates-io.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index f2f5ae1001..3e386aed2a 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -40063,21 +40063,21 @@ cryptographic implementations.") (define-public rust-surf-2 (package (name "rust-surf") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (crate-uri "surf" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1sl2d1ka01qz3qh4m2l5f2fjs0lhsmvdwl29f3pqzqbgv63wg2bi")))) + (base32 "0a33kw06jspi54rf38ncyqjj8861bid0wxhwzpk1ypkbr8rls59a")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-async-std" ,rust-async-std-1) ("rust-async-trait" ,rust-async-trait-0.1) - ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-cfg-if" ,rust-cfg-if-1) ("rust-encoding-rs" ,rust-encoding-rs-0.8) ("rust-futures-util" ,rust-futures-util-0.3) ("rust-http-client" ,rust-http-client-6) @@ -40085,7 +40085,7 @@ cryptographic implementations.") ("rust-log" ,rust-log-0.4) ("rust-mime-guess" ,rust-mime-guess-2) ("rust-once-cell" ,rust-once-cell-1) - ("rust-pin-project-lite" ,rust-pin-project-lite-0.1) + ("rust-pin-project-lite" ,rust-pin-project-lite-0.2) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-web-sys" ,rust-web-sys-0.3)))) From 56613cc61936f9c9031ab04ab1c1634efd2d6575 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 12 Mar 2021 15:28:13 +0100 Subject: [PATCH 0470/1003] gnu: Add rust-minus-3. * gnu/packages/crates-io.scm (rust-minus-3): New variable. --- gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 3e386aed2a..e1628bf565 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -23500,6 +23500,34 @@ drop-in replacement for miniz.") "This package provides math interoperability standard types.") (license license:expat))) +(define-public rust-minus-3 + (package + (name "rust-minus") + (version "3.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "minus" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1f5kx0q3pc04zlaf0dv2vmbzza65kjdr1h9kk8x716fyzc0w5pga")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-async-std" ,rust-async-std-1) + ("rust-crossterm" ,rust-crossterm-0.19) + ("rust-regex" ,rust-regex-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-1)))) + (home-page "https://github.com/arijit79/minus") + (synopsis "Asynchronous paging library for Rust") + (description + "Minus is a fast, asynchronous terminal paging library for Rust. It +provides high level functionalities to easily write a pager for any terminal +application.") + (license (list license:expat license:asl2.0)))) + (define-public rust-mio-0.7 (package (name "rust-mio") From a5a5ec560305a4f59ce4da9b622dfe263eed737d Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 12 Mar 2021 15:33:01 +0100 Subject: [PATCH 0471/1003] gnu: nushell: Update to 0.28.0. * gnu/packages/shells.scm (nushell): (rust-nu-cli-0.28): (rust-nu-command-0.28): (rust-nu-data-0.28): (rust-nu-engine-0.28): (rust-nu-errors-0.28): (rust-nu-json-0.28): (rust-nu-plugin-0.28): (rust-nu-plugin-binaryview-0.28): (rust-nu-plugin-chart-0.28): (rust-nu-plugin-fetch-0.28): (rust-nu-plugin-from-sqlite-0.28): (rust-nu-plugin-inc-0.28): (rust-nu-plugin-match-0.28): (rust-nu-plugin-post-0.28): (rust-nu-plugin-ps-0.28): (rust-nu-plugin-s3-0.28): (rust-nu-plugin-sys-0.28): (rust-nu-plugin-textview-0.28): (rust-nu-plugin-to-bson-0.28): (rust-nu-plugin-to-sqlite-0.28): (rust-nu-plugin-tree-0.28): (rust-nu-plugin-xpath-0.28): (rust-nu-protocol-0.28): (rust-nu-source-0.28): (rust-nu-stream-0.28): (rust-nu-test-support-0.28): (rust-nu-value-ext-0.28): Update to 0.28.0. (rust-nu-ansi-term-0.28): New variable. --- gnu/packages/shells.scm | 611 +++++++++++++++++++++------------------- 1 file changed, 320 insertions(+), 291 deletions(-) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 34ef460e10..c348bfde94 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -940,7 +940,7 @@ files and text.") (define-public nushell (package (name "nushell") - (version "0.27.1") + (version "0.28.0") (source (origin (method git-fetch) @@ -949,7 +949,7 @@ files and text.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "19l42qdqmc9g2qxy4b856z0xlq2g4qrfxj8l7dmdv99vymyfik9j")))) + (base32 "0kbynyk4c0r2qi78mdchx6d0d0c7phz2sxj5cqwsz4gjziibhr7j")))) (build-system cargo-build-system) (arguments `(#:rust ,rust-1.47 @@ -961,38 +961,38 @@ files and text.") ("rust-futures" ,rust-futures-0.3) ("rust-itertools" ,rust-itertools-0.10) ("rust-log" ,rust-log-0.4) - ("rust-nu-cli" ,rust-nu-cli-0.27) - ("rust-nu-command" ,rust-nu-command-0.27) - ("rust-nu-data" ,rust-nu-data-0.27) - ("rust-nu-engine" ,rust-nu-engine-0.27) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-parser" ,rust-nu-parser-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.27) - ("rust-nu-plugin-binaryview" ,rust-nu-plugin-binaryview-0.27) - ("rust-nu-plugin-chart" ,rust-nu-plugin-chart-0.27) - ("rust-nu-plugin-fetch" ,rust-nu-plugin-fetch-0.27) - ("rust-nu-plugin-from-bson" ,rust-nu-plugin-from-bson-0.27) - ("rust-nu-plugin-from-sqlite" ,rust-nu-plugin-from-sqlite-0.27) - ("rust-nu-plugin-inc" ,rust-nu-plugin-inc-0.27) - ("rust-nu-plugin-match" ,rust-nu-plugin-match-0.27) - ("rust-nu-plugin-post" ,rust-nu-plugin-post-0.27) - ("rust-nu-plugin-ps" ,rust-nu-plugin-ps-0.27) - ("rust-nu-plugin-s3" ,rust-nu-plugin-s3-0.27) - ("rust-nu-plugin-selector" ,rust-nu-plugin-selector-0.27) - ("rust-nu-plugin-start" ,rust-nu-plugin-start-0.27) - ("rust-nu-plugin-sys" ,rust-nu-plugin-sys-0.27) - ("rust-nu-plugin-textview" ,rust-nu-plugin-textview-0.27) - ("rust-nu-plugin-to-bson" ,rust-nu-plugin-to-bson-0.27) - ("rust-nu-plugin-to-sqlite" ,rust-nu-plugin-to-sqlite-0.27) - ("rust-nu-plugin-tree" ,rust-nu-plugin-tree-0.27) - ("rust-nu-plugin-xpath" ,rust-nu-plugin-xpath-0.27) + ("rust-nu-cli" ,rust-nu-cli-0.28) + ("rust-nu-command" ,rust-nu-command-0.28) + ("rust-nu-data" ,rust-nu-data-0.28) + ("rust-nu-engine" ,rust-nu-engine-0.28) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-parser" ,rust-nu-parser-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.28) + ("rust-nu-plugin-binaryview" ,rust-nu-plugin-binaryview-0.28) + ("rust-nu-plugin-chart" ,rust-nu-plugin-chart-0.28) + ("rust-nu-plugin-fetch" ,rust-nu-plugin-fetch-0.28) + ("rust-nu-plugin-from-bson" ,rust-nu-plugin-from-bson-0.28) + ("rust-nu-plugin-from-sqlite" ,rust-nu-plugin-from-sqlite-0.28) + ("rust-nu-plugin-inc" ,rust-nu-plugin-inc-0.28) + ("rust-nu-plugin-match" ,rust-nu-plugin-match-0.28) + ("rust-nu-plugin-post" ,rust-nu-plugin-post-0.28) + ("rust-nu-plugin-ps" ,rust-nu-plugin-ps-0.28) + ("rust-nu-plugin-s3" ,rust-nu-plugin-s3-0.28) + ("rust-nu-plugin-selector" ,rust-nu-plugin-selector-0.28) + ("rust-nu-plugin-start" ,rust-nu-plugin-start-0.28) + ("rust-nu-plugin-sys" ,rust-nu-plugin-sys-0.28) + ("rust-nu-plugin-textview" ,rust-nu-plugin-textview-0.28) + ("rust-nu-plugin-to-bson" ,rust-nu-plugin-to-bson-0.28) + ("rust-nu-plugin-to-sqlite" ,rust-nu-plugin-to-sqlite-0.28) + ("rust-nu-plugin-tree" ,rust-nu-plugin-tree-0.28) + ("rust-nu-plugin-xpath" ,rust-nu-plugin-xpath-0.28) ("rust-pretty-env-logger" ,rust-pretty-env-logger-0.4)) #:cargo-development-inputs (("rust-dunce" ,rust-dunce-1) - ("rust-nu-test-support" ,rust-nu-test-support-0.27) + ("rust-nu-test-support" ,rust-nu-test-support-0.28) ("rust-serial-test" ,rust-serial-test-0.5)))) (native-inputs `(("pkg-config" ,pkg-config) @@ -1016,23 +1016,46 @@ directory. These values can be piped through a series of steps, in a series of commands called a ``pipeline''.") (license license:expat))) -(define-public rust-nu-cli-0.27 +(define-public rust-nu-ansi-term-0.28 + (package + (name "rust-nu-ansi-term") + (version "0.28.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "nu-ansi-term" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0j4ybp1bmlj9lakrp21i180c26x0i9ird08xshsr6607g8nvc73f")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-serde" ,rust-serde-1) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://www.nushell.sh") + (synopsis "Library for ANSI terminal colors and styles (bold, underline)") + (description + "This package is a library for ANSI terminal colors and styles (bold, +underline).") + (license license:expat))) + +(define-public rust-nu-cli-0.28 (package (name "rust-nu-cli") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu-cli" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0rv4g5vfs81gans9npa2yyz893jqnd1yqcc16h0w6xlbsgdx2712")))) + (base32 "0wz3n4b7sz5zynwhs2gn11w1b9cji231f613r23j64a8y26hdzhn")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-arboard" ,rust-arboard-1) + (("rust-arboard" ,rust-arboard-1) ("rust-async-recursion" ,rust-async-recursion-0.3) ("rust-async-trait" ,rust-async-trait-0.1) ("rust-base64" ,rust-base64-0.13) @@ -1069,19 +1092,20 @@ of commands called a ``pipeline''.") ("rust-lazy-static" ,rust-lazy-static-1) ("rust-log" ,rust-log-0.4) ("rust-meval" ,rust-meval-0.2) - ("rust-nu-command" ,rust-nu-command-0.27) - ("rust-nu-data" ,rust-nu-data-0.27) - ("rust-nu-engine" ,rust-nu-engine-0.27) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-json" ,rust-nu-json-0.27) - ("rust-nu-parser" ,rust-nu-parser-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) - ("rust-nu-stream" ,rust-nu-stream-0.27) - ("rust-nu-table" ,rust-nu-table-0.27) - ("rust-nu-test-support" ,rust-nu-test-support-0.27) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.27) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.28) + ("rust-nu-command" ,rust-nu-command-0.28) + ("rust-nu-data" ,rust-nu-data-0.28) + ("rust-nu-engine" ,rust-nu-engine-0.28) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-json" ,rust-nu-json-0.28) + ("rust-nu-parser" ,rust-nu-parser-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) + ("rust-nu-stream" ,rust-nu-stream-0.28) + ("rust-nu-table" ,rust-nu-table-0.28) + ("rust-nu-test-support" ,rust-nu-test-support-0.28) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.28) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-num-format" ,rust-num-format-0.4) ("rust-num-traits" ,rust-num-traits-0.2) @@ -1132,23 +1156,22 @@ of commands called a ``pipeline''.") (description "CLI for nushell") (license license:expat))) -(define-public rust-nu-command-0.27 +(define-public rust-nu-command-0.28 (package (name "rust-nu-command") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu-command" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1kpf72fw310mnywv3y678cgxkdzhfss14228p0ndhr2knxz8gdki")))) + (base32 "0n6967w99m4zi52lfb57ycckammcc4im92yl5v2a2r6avnxrby1d")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-arboard" ,rust-arboard-1) + (("rust-arboard" ,rust-arboard-1) ("rust-async-recursion" ,rust-async-recursion-0.3) ("rust-async-trait" ,rust-async-trait-0.1) ("rust-base64" ,rust-base64-0.13) @@ -1160,6 +1183,7 @@ of commands called a ``pipeline''.") ("rust-chrono-tz" ,rust-chrono-tz-0.5) ("rust-clap" ,rust-clap-2) ("rust-codespan-reporting" ,rust-codespan-reporting-0.11) + ("rust-crossterm" ,rust-crossterm-0.19) ("rust-csv" ,rust-csv-1) ("rust-ctrlc" ,rust-ctrlc-3) ("rust-derive-new" ,rust-derive-new-0.5) @@ -1185,19 +1209,20 @@ of commands called a ``pipeline''.") ("rust-lazy-static" ,rust-lazy-static-1) ("rust-log" ,rust-log-0.4) ("rust-meval" ,rust-meval-0.2) - ("rust-nu-data" ,rust-nu-data-0.27) - ("rust-nu-engine" ,rust-nu-engine-0.27) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-json" ,rust-nu-json-0.27) - ("rust-nu-parser" ,rust-nu-parser-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) - ("rust-nu-stream" ,rust-nu-stream-0.27) - ("rust-nu-table" ,rust-nu-table-0.27) - ("rust-nu-test-support" - ,rust-nu-test-support-0.27) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.27) + ("rust-minus" ,rust-minus-3) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.28) + ("rust-nu-data" ,rust-nu-data-0.28) + ("rust-nu-engine" ,rust-nu-engine-0.28) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-json" ,rust-nu-json-0.28) + ("rust-nu-parser" ,rust-nu-parser-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) + ("rust-nu-stream" ,rust-nu-stream-0.28) + ("rust-nu-table" ,rust-nu-table-0.28) + ("rust-nu-test-support" ,rust-nu-test-support-0.28) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.28) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-num-format" ,rust-num-format-0.4) ("rust-num-traits" ,rust-num-traits-0.2) @@ -1245,23 +1270,22 @@ of commands called a ``pipeline''.") (description "CLI for nushell") (license license:expat))) -(define-public rust-nu-data-0.27 +(define-public rust-nu-data-0.28 (package (name "rust-nu-data") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu-data" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0v7rkbrbzjy9794isz1z3dz1kpciadgg7hdfr6107i3qw11j8pq3")))) + (base32 "1gq0izbpaw4lp92ia3d3i14x649r1s6jscabm6xdi2qcxfb420kz")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-bigdecimal" ,rust-bigdecimal-0.2) + (("rust-bigdecimal" ,rust-bigdecimal-0.2) ("rust-byte-unit" ,rust-byte-unit-4) ("rust-chrono" ,rust-chrono-0.4) ("rust-derive-new" ,rust-derive-new-0.5) @@ -1270,16 +1294,16 @@ of commands called a ``pipeline''.") ("rust-getset" ,rust-getset-0.1) ("rust-indexmap" ,rust-indexmap-1) ("rust-log" ,rust-log-0.4) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) - ("rust-nu-table" ,rust-nu-table-0.27) - ("rust-nu-test-support" ,rust-nu-test-support-0.27) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.27) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.28) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) + ("rust-nu-table" ,rust-nu-table-0.28) + ("rust-nu-test-support" ,rust-nu-test-support-0.28) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.28) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-num-format" ,rust-num-format-0.4) ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-parking-lot" ,rust-parking-lot-0.11) ("rust-query-interface" ,rust-query-interface-0.3) ("rust-serde" ,rust-serde-1) ("rust-toml" ,rust-toml-0.5) @@ -1289,23 +1313,22 @@ of commands called a ``pipeline''.") (description "CLI for nushell") (license license:expat))) -(define-public rust-nu-engine-0.27 +(define-public rust-nu-engine-0.28 (package (name "rust-nu-engine") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu-engine" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0a1b8j7k2rawdimxr7yknw6yk0pbs69qj5p73sg4a24pyx0f7zkp")))) + (base32 "135bwcqvb8vhg417yzz90bj396f9hwpbqrdi9kw8fvmfz573z32s")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-async-recursion" ,rust-async-recursion-0.3) + (("rust-async-recursion" ,rust-async-recursion-0.3) ("rust-async-trait" ,rust-async-trait-0.1) ("rust-bytes" ,rust-bytes-0.5) ("rust-derive-new" ,rust-derive-new-0.5) @@ -1322,14 +1345,15 @@ of commands called a ``pipeline''.") ("rust-indexmap" ,rust-indexmap-1) ("rust-itertools" ,rust-itertools-0.10) ("rust-log" ,rust-log-0.4) - ("rust-nu-data" ,rust-nu-data-0.27) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-parser" ,rust-nu-parser-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) - ("rust-nu-stream" ,rust-nu-stream-0.27) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.27) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.28) + ("rust-nu-data" ,rust-nu-data-0.28) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-parser" ,rust-nu-parser-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) + ("rust-nu-stream" ,rust-nu-stream-0.28) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.28) ("rust-parking-lot" ,rust-parking-lot-0.11) ("rust-rayon" ,rust-rayon-1) ("rust-serde" ,rust-serde-1) @@ -1337,6 +1361,7 @@ of commands called a ``pipeline''.") ("rust-tempfile" ,rust-tempfile-3) ("rust-term-size" ,rust-term-size-0.3) ("rust-termcolor" ,rust-termcolor-1) + ("rust-trash" ,rust-trash-1) ("rust-umask" ,rust-umask-1) ("rust-users" ,rust-users-0.11)))) (home-page "https://www.nushell.sh") @@ -1344,28 +1369,28 @@ of commands called a ``pipeline''.") (description "Core commands for nushell") (license license:expat))) -(define-public rust-nu-errors-0.27 +(define-public rust-nu-errors-0.28 (package (name "rust-nu-errors") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu-errors" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0h81034cmlra627bnq7kp46s3k61j5xhzbbk61lxybmyg1m5dr74")))) + (base32 "1zb5mmhzjh5cd27ry4z0vgw99ic9k3badxy3ywjk72nzpr5ra303")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-bigdecimal" ,rust-bigdecimal-0.2) + (("rust-bigdecimal" ,rust-bigdecimal-0.2) ("rust-codespan-reporting" ,rust-codespan-reporting-0.11) ("rust-derive-new" ,rust-derive-new-0.5) ("rust-getset" ,rust-getset-0.1) ("rust-glob" ,rust-glob-0.3) - ("rust-nu-source" ,rust-nu-source-0.27) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-serde" ,rust-serde-1) @@ -1377,41 +1402,42 @@ of commands called a ``pipeline''.") (description "Core error subsystem for Nushell") (license license:expat))) -(define-public rust-nu-json-0.27 +(define-public rust-nu-json-0.28 (package (name "rust-nu-json") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu-json" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1ymdiv606kiw6m79rr7blflk1m7cnk96ahxx5j82ygamkr4mckf3")))) + (base32 "02w1lp7mp1fg7rf5zpdzllvsmd0jlgmig50xxag6a901ic85ddr7")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-linked-hash-map" ,rust-linked-hash-map-0.5) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-regex" ,rust-regex-1) - ("rust-serde" ,rust-serde-0.8)))) + ("rust-serde" ,rust-serde-1)))) (home-page "https://www.nushell.sh") (synopsis "Fork of @code{serde-hjson}") (description "This package is a fork of @code{serde-hjson}.") (license license:expat))) -(define-public rust-nu-parser-0.27 +(define-public rust-nu-parser-0.28 (package (name "rust-nu-parser") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu-parser" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1zv68yzkrgdk8c50bbsrx3jfsg46621522zgg1glbv0809gcns5p")))) + (base32 "0sixgfj7nsg66gmsqchydkqbhf3dzg5igvcri7dz6qdadi578wb5")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -1424,10 +1450,10 @@ of commands called a ``pipeline''.") ("rust-indexmap" ,rust-indexmap-1) ("rust-itertools" ,rust-itertools-0.10) ("rust-log" ,rust-log-0.4) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) - ("rust-nu-test-support" ,rust-nu-test-support-0.27) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) + ("rust-nu-test-support" ,rust-nu-test-support-0.28) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-serde" ,rust-serde-1) @@ -1438,10 +1464,10 @@ of commands called a ``pipeline''.") (description "Nushell parser") (license license:expat))) -(define-public rust-nu-plugin-0.27 +(define-public rust-nu-plugin-0.28 (package (name "rust-nu-plugin") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) @@ -1449,18 +1475,19 @@ of commands called a ``pipeline''.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "12x01n7x9bqn0pp5pymmaxmd32gjm6lcs3hd3zhp1y15swrj2kr9")))) + (base32 "1bkxkffcywaam8r55v8ciq42mgimgxzl4x8vb5qzx49a5gjb1831")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-bigdecimal" ,rust-bigdecimal-0.2) ("rust-indexmap" ,rust-indexmap-1) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) - ("rust-nu-test-support" ,rust-nu-test-support-0.27) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.27) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) + ("rust-nu-test-support" + ,rust-nu-test-support-0.28) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.28) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1)))) @@ -1469,29 +1496,29 @@ of commands called a ``pipeline''.") (description "Nushell Plugin") (license license:expat))) -(define-public rust-nu-plugin-binaryview-0.27 +(define-public rust-nu-plugin-binaryview-0.28 (package (name "rust-nu-plugin-binaryview") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_binaryview" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0py5wzzf0527dj43k5lah2da9ws9w4n4mi2i6dprswmy4pvplhq1")))) + (base32 "055pc3idf1jsrks0hpx55vazaivxdjfncvbqjjsp89dk1011a3yp")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-crossterm" ,rust-crossterm-0.19) + (("rust-crossterm" ,rust-crossterm-0.19) ("rust-image" ,rust-image-0.22) ("rust-neso" ,rust-neso-0.5) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.28) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) ("rust-pretty-hex" ,rust-pretty-hex-0.2) ("rust-rawkey" ,rust-rawkey-0.1)))) (home-page "https://www.nushell.sh") @@ -1500,29 +1527,29 @@ of commands called a ``pipeline''.") "This package provides a binary viewer plugin for Nushell.") (license license:expat))) -(define-public rust-nu-plugin-chart-0.27 +(define-public rust-nu-plugin-chart-0.28 (package (name "rust-nu-plugin-chart") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_chart" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "07im3fcd9lxfnj3b81j1jky3yl1sfx3gqgcf8n46gfqh5gmgismb")))) + (base32 "114kg6vspympi2fr14sgvwnlinwa7s2vwv8f9a9p1kwqg4qa281s")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-crossterm" ,rust-crossterm-0.19) - ("rust-nu-cli" ,rust-nu-cli-0.27) - ("rust-nu-data" ,rust-nu-data-0.27) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.27) + ("rust-nu-cli" ,rust-nu-cli-0.28) + ("rust-nu-data" ,rust-nu-data-0.28) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.28) ("rust-tui" ,rust-tui-0.14)))) (home-page "https://www.nushell.sh") (synopsis "Plugin to display charts") @@ -1530,56 +1557,57 @@ of commands called a ``pipeline''.") "This package provides a plugin to display charts in Nushell.") (license license:expat))) -(define-public rust-nu-plugin-fetch-0.27 +(define-public rust-nu-plugin-fetch-0.28 (package (name "rust-nu-plugin-fetch") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_fetch" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "06mgd7vis7g3br3acswq24v4ffi15zq5fi0i7v65jz418vapvmzp")))) + (base32 "1v7pc58m8gi5zscvyviy8j5zbn30hxqlb37c0grgda7635vqhq31")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-base64" ,rust-base64-0.13) ("rust-futures" ,rust-futures-0.3) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) - ("rust-surf" ,rust-surf-1) + ("rust-mime" ,rust-mime-0.3) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) + ("rust-surf" ,rust-surf-2) ("rust-url" ,rust-url-2)))) (home-page "https://www.nushell.sh") (synopsis "URL fetch plugin for Nushell") (description "This package provides a URL fetch plugin for Nushell.") (license license:expat))) -(define-public rust-nu-plugin-from-bson-0.27 +(define-public rust-nu-plugin-from-bson-0.28 (package (name "rust-nu-plugin-from-bson") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_from_bson" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "16ksyzsxyy2wd138y1zz9sdq6s5zvrh7rrsvyhwdd4w7irk2q474")))) + (base32 "13k11dh2pc48181qcbqwwgwwqh5d2g99p0rq4ly75l5jwyyazi73")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-bigdecimal" ,rust-bigdecimal-0.2) ("rust-bson" ,rust-bson-0.14) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.27) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.28) ("rust-num-traits" ,rust-num-traits-0.2)))) (home-page "https://www.nushell.sh") (synopsis "Converter plugin to the bson format for Nushell") @@ -1588,27 +1616,27 @@ of commands called a ``pipeline''.") Nushell.") (license license:expat))) -(define-public rust-nu-plugin-from-sqlite-0.27 +(define-public rust-nu-plugin-from-sqlite-0.28 (package (name "rust-nu-plugin-from-sqlite") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_from_sqlite" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0z35aw6n2w4lmwp2797zd85ix64ch1msn5d0g3g2kdrihbpymxj2")))) + (base32 "0mpaz3vn7zf1ijccfd9rgrzl0fr3fci6j16w7a81x6dh7pqavxgn")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-bigdecimal" ,rust-bigdecimal-0.2) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.27) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.28) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-rusqlite" ,rust-rusqlite-0.24) ("rust-tempfile" ,rust-tempfile-3)))) @@ -1619,27 +1647,28 @@ Nushell.") Nushell.") (license license:expat))) -(define-public rust-nu-plugin-inc-0.27 +(define-public rust-nu-plugin-inc-0.28 (package (name "rust-nu-plugin-inc") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_inc" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1ykrfixf642zv0h6349mxsidm9m7j933imnw978v96ymzp7hdalk")))) + (base32 "1dbayv8gcjpz46xgvh9b1pka2ygyhyalk1xzh43cvaccqn4qafrb")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) - ("rust-nu-test-support" ,rust-nu-test-support-0.27) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.27) + (("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) + ("rust-nu-test-support" + ,rust-nu-test-support-0.28) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.28) ("rust-semver" ,rust-semver-0.11)))) (home-page "https://www.nushell.sh") (synopsis "Version incrementer plugin for Nushell") @@ -1648,25 +1677,25 @@ Nushell.") Nushell.") (license license:expat))) -(define-public rust-nu-plugin-match-0.27 +(define-public rust-nu-plugin-match-0.28 (package (name "rust-nu-plugin-match") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_match" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0ax8aanmr8clvz3abbc4mwhpp2bwwzfh03vydwa50dadnrhrh51s")))) + (base32 "1d19hwrrmbwxx3nn7gjs2wvzf6wfhdai9jsq35n7bgjx2qyip0ma")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) + (("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) ("rust-regex" ,rust-regex-1)))) (home-page "https://www.nushell.sh") (synopsis "Regex match plugin for Nushell") @@ -1674,27 +1703,27 @@ Nushell.") "This package provides a regex match plugin for Nushell.") (license license:expat))) -(define-public rust-nu-plugin-post-0.27 +(define-public rust-nu-plugin-post-0.28 (package (name "rust-nu-plugin-post") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_post" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "19zsvddd5lb1y1jm1wldk8padxl3a4w55xh82hpxz4igvjblpcz6")))) + (base32 "1jha85gl422p9knr0m4xdx353nmm00zrj5yh9w2gdyzs6hbzf80q")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-base64" ,rust-base64-0.13) ("rust-futures" ,rust-futures-0.3) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-serde-json" ,rust-serde-json-1) ("rust-surf" ,rust-surf-1) @@ -1704,27 +1733,27 @@ Nushell.") (description "This package is an HTTP POST plugin for Nushell.") (license license:expat))) -(define-public rust-nu-plugin-ps-0.27 +(define-public rust-nu-plugin-ps-0.28 (package (name "rust-nu-plugin-ps") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_ps" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1d8i1hfpcjpiwikdi5i2gdnxxm43nnmmyfz1y7zivx5hzha1qjg1")))) + (base32 "0akgz7wi85ny2cfkcs9bn4hc97d4wdh9ayrzd6zasmird5kl1lv8")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-futures" ,rust-futures-0.3) ("rust-futures-timer" ,rust-futures-timer-3) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-sysinfo" ,rust-sysinfo-0.16)))) (home-page "https://www.nushell.sh") @@ -1733,80 +1762,80 @@ Nushell.") "This package provides a process list plugin for Nushell.") (license license:expat))) -(define-public rust-nu-plugin-s3-0.27 +(define-public rust-nu-plugin-s3-0.28 (package (name "rust-nu-plugin-s3") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_s3" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "14kk07rm62am24fp7cks8gcfp7h67zlcmfzpixh0rfwkfgr87mwq")))) + (base32 "02b71ljsi7z2nbpm9djaxvdg7ql6xn0mqibpnzql0d39wfb0bxc2")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-futures" ,rust-futures-0.3) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) ("rust-s3handler" ,rust-s3handler-0.6)))) (home-page "https://www.nushell.sh") (synopsis "S3 plugin for Nushell") (description "This package is an S3 plugin for Nushell.") (license license:expat))) -(define-public rust-nu-plugin-selector-0.27 +(define-public rust-nu-plugin-selector-0.28 (package (name "rust-nu-plugin-selector") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_selector" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1nvqp8lzyiyk3n8c5gqr6wrk2pirzpyxpwc4r67fr9rsllyrfhw2")))) + (base32 "0g1sjlvylclhhp41h6xx6vaa10478albjgh3n7kg3p0s6i8db5a7")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-nipper" ,rust-nipper-0.1) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27)))) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28)))) (home-page "https://www.nushell.sh") (synopsis "Web scraping using CSS selector") (description "This package provides web scraping using CSS selector.") (license license:expat))) -(define-public rust-nu-plugin-start-0.27 +(define-public rust-nu-plugin-start-0.28 (package (name "rust-nu-plugin-start") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_start" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1kznb1npqbbak3xk9w6m6ng6h7ir164il7xydrhwrl45mll2g4yw")))) + (base32 "1gqn6b1jpxcfx81c5c4yfs52gzxp9viyqj7hjs7fqvf5czi0bmz7")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-glob" ,rust-glob-0.3) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) ("rust-open" ,rust-open-1) ("rust-url" ,rust-url-2)))) (home-page "https://www.nushell.sh") @@ -1816,10 +1845,10 @@ Nushell.") Nushell.") (license license:expat))) -(define-public rust-nu-plugin-sys-0.27 +(define-public rust-nu-plugin-sys-0.28 (package (name "rust-nu-plugin-sys") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) @@ -1827,17 +1856,17 @@ Nushell.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1bdd745w5gmignfclp5fzwpyjfpqsmf6hrry3chn3jzdpl5gvgiw")))) + (base32 "16igj4z9f7kfy3x71ki3vaqdx6064l3k718vqfpabffjkz9qpfp5")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-futures" ,rust-futures-0.3) ("rust-futures-util" ,rust-futures-util-0.3) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-sysinfo" ,rust-sysinfo-0.16)))) (home-page "https://www.nushell.sh") @@ -1845,28 +1874,28 @@ Nushell.") (description "This package provides a system info plugin for Nushell.") (license license:expat))) -(define-public rust-nu-plugin-textview-0.27 +(define-public rust-nu-plugin-textview-0.28 (package (name "rust-nu-plugin-textview") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_textview" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "10w5isqgc5mf7rhs49rglm3s6pcij0ch12xkvrq4930y8pr6cy9l")))) + (base32 "07m3x9bkq1qliicnshgs6yi6q5fbl6d6gxcd60kqcavkvdknnf8m")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-bat" ,rust-bat-0.17) - ("rust-nu-data" ,rust-nu-data-0.27) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) + (("rust-bat" ,rust-bat-0.17) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.28) + ("rust-nu-data" ,rust-nu-data-0.28) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) ("rust-term-size" ,rust-term-size-0.3) ("rust-url" ,rust-url-2)))) (home-page "https://www.nushell.sh") @@ -1875,27 +1904,27 @@ Nushell.") Nushell.") (license license:expat))) -(define-public rust-nu-plugin-to-bson-0.27 +(define-public rust-nu-plugin-to-bson-0.28 (package (name "rust-nu-plugin-to-bson") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_to_bson" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1x90r11wg46i2wx21gk42pyjjcpib66rrqgxrc690y376dn9ivlr")))) + (base32 "1rq2kwzrby8rh57gq4s4ljj4fgfgblrhjncjycpmkw2jzn7sa6xi")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-bson" ,rust-bson-0.14) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.27) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.28) ("rust-num-traits" ,rust-num-traits-0.2)))) (home-page "https://www.nushell.sh") (synopsis "Converter plugin to the bson format for Nushell") @@ -1904,27 +1933,27 @@ Nushell.") Nushell.") (license license:expat))) -(define-public rust-nu-plugin-to-sqlite-0.27 +(define-public rust-nu-plugin-to-sqlite-0.28 (package (name "rust-nu-plugin-to-sqlite") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_to_sqlite" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "055k5sksxv7q4ivy74c1ndxps30c5c97rz6v7dibckh9c0q1vbhk")))) + (base32 "0q07fv4i4rkzjna54mkcri5bfngqkkmpfj3vmiyzib0x84pvzfjf")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-hex" ,rust-hex-0.4) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.27) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.28) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-rusqlite" ,rust-rusqlite-0.24) ("rust-tempfile" ,rust-tempfile-3)))) @@ -1935,26 +1964,26 @@ Nushell.") Nushell.") (license license:expat))) -(define-public rust-nu-plugin-tree-0.27 +(define-public rust-nu-plugin-tree-0.28 (package (name "rust-nu-plugin-tree") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_tree" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0bjir9f5fraz5n9bj99ba7djmnzb8ws0dbvdhwn5hz9lmb5ss0mg")))) + (base32 "0xifcyg0z025n6w0cqjnmrjcbynv437dkxpsxgbvm4iybj558590")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-derive-new" ,rust-derive-new-0.5) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) ("rust-ptree" ,rust-ptree-0.3)))) (home-page "https://www.nushell.sh") (synopsis "Tree viewer plugin for Nushell") @@ -1962,27 +1991,27 @@ Nushell.") Nushell.") (license license:expat))) -(define-public rust-nu-plugin-xpath-0.27 +(define-public rust-nu-plugin-xpath-0.28 (package (name "rust-nu-plugin-xpath") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_xpath" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1cyq7qb8bzzf599fq24pg7z0svsdffkd26fplggdg4nihjv28clv")))) + (base32 "0mwajr07489kgv2yhxsk0laydf8m8p736npvkcbsjxaxydnv5a5a")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-bigdecimal" ,rust-bigdecimal-0.2) ("rust-indexmap" ,rust-indexmap-1) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-plugin" ,rust-nu-plugin-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-plugin" ,rust-nu-plugin-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) ("rust-sxd-document" ,rust-sxd-document-0.3) ("rust-sxd-xpath" ,rust-sxd-xpath-0.4)))) (home-page "https://www.nushell.sh") @@ -1990,17 +2019,17 @@ Nushell.") (description "Traverses XML") (license license:expat))) -(define-public rust-nu-protocol-0.27 +(define-public rust-nu-protocol-0.28 (package (name "rust-nu-protocol") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu-protocol" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1031mysphq7qczmilmdshcm4h6wh0132cvdc0346qz2q2b3qmrjr")))) + (base32 "0khpg2dnapyyimyq4ys1nfs1xzysxq2nb1ka2lmjfgdxrbwzrqnj")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -2012,8 +2041,8 @@ Nushell.") ("rust-getset" ,rust-getset-0.1) ("rust-indexmap" ,rust-indexmap-1) ("rust-log" ,rust-log-0.4) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-num-integer" ,rust-num-integer-0.1) ("rust-num-traits" ,rust-num-traits-0.2) @@ -2027,17 +2056,17 @@ Nushell.") (description "Core values and protocols for Nushell") (license license:expat))) -(define-public rust-nu-source-0.27 +(define-public rust-nu-source-0.28 (package (name "rust-nu-source") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu-source" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1akfcn7138sfaawb7sl5311vgmcba32c79lnkmdzpb48xdr9ybp8")))) + (base32 "13a590iff8bg6p38xs1hh5krmii6qz2w5k7ak57dyh3r3vbhvmmd")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -2054,46 +2083,46 @@ Nushell.") Nushell.") (license license:expat))) -(define-public rust-nu-stream-0.27 +(define-public rust-nu-stream-0.28 (package (name "rust-nu-stream") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu-stream" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "09xm93mk0kyi4nd6f1x89yfk3139ahamirs2zwnzr97f7xng216v")))) + (base32 "02dl4d9gzl2jhg71hfc04x9j4p29iwwcyvm6m9pihwfpwb3q2bhj")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-futures" ,rust-futures-0.3) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27)))) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28)))) (home-page "https://www.nushell.sh") (synopsis "Nushell stream") (description "This package provides Nushell stream.") (license license:expat))) -(define-public rust-nu-table-0.27 +(define-public rust-nu-table-0.28 (package (name "rust-nu-table") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu-table" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1vkn0kf7rwywrj8d31mr4j64rwjay9syjsvg94yi9rdxbccd5jf2")))) + (base32 "15yd0wrl0y0rmjdvq2gmk97nxppdy5r424vy8v85gk876g82gi1s")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-ansi-term" ,rust-ansi-term-0.12) + (("rust-nu-ansi-term" ,rust-nu-ansi-term-0.28) ("rust-regex" ,rust-regex-1) ("rust-unicode-width" ,rust-unicode-width-0.1)))) (home-page "https://www.nushell.sh") @@ -2101,17 +2130,17 @@ Nushell.") (description "Nushell table printing") (license license:expat))) -(define-public rust-nu-test-support-0.27 +(define-public rust-nu-test-support-0.28 (package (name "rust-nu-test-support") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (crate-uri "nu-test-support" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0yk1368by0s9p7j2diw5mdk88by00cw6q6wspasbprcr684g5kvn")))) + (base32 "1qphsvr1wpn26ak5g4bj106csm8bia12srpv1dwy4zif42if57gm")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -2122,10 +2151,10 @@ Nushell.") ("rust-getset" ,rust-getset-0.1) ("rust-glob" ,rust-glob-0.3) ("rust-indexmap" ,rust-indexmap-1) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.27) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.28) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-tempfile" ,rust-tempfile-3)))) (home-page "https://www.nushell.sh") @@ -2134,10 +2163,10 @@ Nushell.") tests.") (license license:expat))) -(define-public rust-nu-value-ext-0.27 +(define-public rust-nu-value-ext-0.28 (package (name "rust-nu-value-ext") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) @@ -2145,16 +2174,16 @@ tests.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1yhzqzafg0l1fj4pwlbjl0h74b0rj0x4gdx2rgc3nzndc7j00axn")))) + (base32 "0kwx2s4gyss8gmj72kl0y2yzq5injwv9g9n53bal339b81dd7v90")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-indexmap" ,rust-indexmap-1) ("rust-itertools" ,rust-itertools-0.10) - ("rust-nu-errors" ,rust-nu-errors-0.27) - ("rust-nu-protocol" ,rust-nu-protocol-0.27) - ("rust-nu-source" ,rust-nu-source-0.27) + ("rust-nu-errors" ,rust-nu-errors-0.28) + ("rust-nu-protocol" ,rust-nu-protocol-0.28) + ("rust-nu-source" ,rust-nu-source-0.28) ("rust-num-traits" ,rust-num-traits-0.2)))) (home-page "https://www.nushell.sh") (synopsis "@code{Extension} traits for values in Nushell") From 35b3ab8e5748d9911ae7a0189065d0c25392895b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 12 Mar 2021 14:07:34 -0500 Subject: [PATCH 0472/1003] gnu: libtiff: Fix documentation directory name in grafted replacement. Fixes . This is a followup to commit 6320700b114f09c09fbe613e2032abe077d28583. * gnu/packages/image.scm (libtiff/fixed)[name, arguments]: New fields. --- gnu/packages/image.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 29e88af231..4f249b7622 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -616,6 +616,7 @@ collection of tools for doing simple manipulations of TIFF images.") (define-public libtiff/fixed (package (inherit libtiff) + (name "libtiff") (version "4.2.0") (source (origin @@ -624,7 +625,14 @@ collection of tools for doing simple manipulations of TIFF images.") version ".tar.gz")) (sha256 (base32 - "1jrkjv0xya9radddn8idxvs2gqzp3l2b1s8knlizmn7ad3jq817b")))))) + "1jrkjv0xya9radddn8idxvs2gqzp3l2b1s8knlizmn7ad3jq817b")))) + (arguments + ;; Instead of using --docdir, this package has its own --with-docdir. + `(#:configure-flags (list (string-append "--with-docdir=" + (assoc-ref %outputs "doc") + "/share/doc/" + ,name "-" ,version) + "--disable-static"))))) (define-public leptonica (package From a39faf1abdac4ee518ed28bf6429e07eab0371ea Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 12 Mar 2021 14:16:21 -0500 Subject: [PATCH 0473/1003] gnu: OpenSSL: Fix version number in build configuration. Fixes . This is a followup to commit 4a8b529ce15ddc69a9dd701e450fc85a0ed65910. * gnu/packages/tls.scm (openssl/fixed)[arguments]: New field. --- gnu/packages/tls.scm | 99 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 98 insertions(+), 1 deletion(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 4572b39aa1..a5cffeb3e1 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -436,7 +436,104 @@ required structures.") (patches (search-patches "openssl-1.1-c-rehash-in.patch")) (sha256 (base32 - "1gw17520vh13izy1xf5q0a2fqgcayymjjj5bk0dlkxndfnszrwma")))))) + "1gw17520vh13izy1xf5q0a2fqgcayymjjj5bk0dlkxndfnszrwma")))) + (arguments + `(#:parallel-tests? #f + #:test-target "test" + + ;; Changes to OpenSSL sometimes cause Perl to "sneak in" to the closure, + ;; so we explicitly disallow it here. + #:disallowed-references ,(list (canonical-package perl)) + #:phases + (modify-phases %standard-phases + ,@(if (%current-target-system) + '((add-before + 'configure 'set-cross-compile + (lambda* (#:key target outputs #:allow-other-keys) + (setenv "CROSS_COMPILE" (string-append target "-")) + (setenv "CONFIGURE_TARGET_ARCH" + (cond + ((string-prefix? "i586" target) + "hurd-x86") + ((string-prefix? "i686" target) + "linux-x86") + ((string-prefix? "x86_64" target) + "linux-x86_64") + ((string-prefix? "mips64el" target) + "linux-mips64") + ((string-prefix? "arm" target) + "linux-armv4") + ((string-prefix? "aarch64" target) + "linux-aarch64") + ((string-prefix? "powerpc64le" target) + "linux-ppc64le") + ((string-prefix? "powerpc64" target) + "linux-ppc64") + ((string-prefix? "powerpc" target) + "linux-ppc"))) + #t))) + '()) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib"))) + ;; It's not a shebang so patch-source-shebangs misses it. + (substitute* "config" + (("/usr/bin/env") + (string-append (assoc-ref %build-inputs "coreutils") + "/bin/env"))) + (invoke ,@(if (%current-target-system) + '("./Configure") + '("./config")) + "shared" ;build shared libraries + "--libdir=lib" + + ;; The default for this catch-all directory is + ;; PREFIX/ssl. Change that to something more + ;; conventional. + (string-append "--openssldir=" out + "/share/openssl-" ,version) + + (string-append "--prefix=" out) + (string-append "-Wl,-rpath," lib) + ,@(if (%current-target-system) + '((getenv "CONFIGURE_TARGET_ARCH")) + '()))))) + (add-after 'install 'move-static-libraries + (lambda* (#:key outputs #:allow-other-keys) + ;; Move static libraries to the "static" output. + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (static (assoc-ref outputs "static")) + (slib (string-append static "/lib"))) + (for-each (lambda (file) + (install-file file slib) + (delete-file file)) + (find-files lib "\\.a$")) + #t))) + (add-after 'install 'move-extra-documentation + (lambda* (#:key outputs #:allow-other-keys) + ;; Move man3 pages and full HTML documentation to "doc". + (let* ((out (assoc-ref outputs "out")) + (man3 (string-append out "/share/man/man3")) + (html (string-append out "/share/doc/openssl")) + (doc (assoc-ref outputs "doc")) + (man-target (string-append doc "/share/man/man3")) + (html-target (string-append doc "/share/doc/openssl"))) + (copy-recursively man3 man-target) + (delete-file-recursively man3) + (copy-recursively html html-target) + (delete-file-recursively html) + #t))) + (add-after + 'install 'remove-miscellany + (lambda* (#:key outputs #:allow-other-keys) + ;; The 'misc' directory contains random undocumented shell and Perl + ;; scripts. Remove them to avoid retaining a reference on Perl. + (let ((out (assoc-ref outputs "out"))) + (delete-file-recursively (string-append out "/share/openssl-" + ,version "/misc")) + #t)))))))) (define-public openssl-1.0 (package From bb5d84a0489a629d30bc2e978807caf20f46e329 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 12 Mar 2021 14:39:36 -0500 Subject: [PATCH 0474/1003] gnu: ImageMagick: Fix version number in build configuration of grafted replacement. Fixes . This is a followup to commits 852ba914a43da0977d4f53b53da7039cdd6706b2 and 82e887ba48c2ba91b17aa9b6b17501e3e0ef4aef. * gnu/packages/imagemagick.scm (imagemagick/fixed)[name, arguments]: New fields. --- gnu/packages/imagemagick.scm | 43 ++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 1a5ddb63d4..8f6eddce0d 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -51,6 +51,7 @@ ;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; users are ready for the 7-series API. (version "6.9.11-48") + (replacement imagemagick/fixed) (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" @@ -58,7 +59,6 @@ (sha256 (base32 "0m8nkmywkqwyrr01q7aiakj6mi4rb2psjgzv8n0x82x3s1rpfyql")))) - (replacement imagemagick/fixed) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch" @@ -130,6 +130,7 @@ text, lines, polygons, ellipses and Bézier curves.") (define-public imagemagick/fixed (package (inherit imagemagick) + (name "imagemagick") (version "6.9.12-2g") ;; 'g' for 'guix', appended character to retain ;; version length so grafting works properly. (source (origin @@ -140,7 +141,45 @@ text, lines, polygons, ellipses and Bézier curves.") ".tar.xz")) (sha256 (base32 - "17da5zihz58qm41y61sbvw626m5xfwr2nzszlikrvxyq1j1q7asa")))))) + "17da5zihz58qm41y61sbvw626m5xfwr2nzszlikrvxyq1j1q7asa")))) + (arguments + `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch" + + ;; Do not embed the build date in binaries. + "--enable-reproducible-build") + + ;; FIXME: The test suite succeeded before version 6.9.6-2. + ;; Try enabling it again with newer releases. + #:tests? #f + #:phases (modify-phases %standard-phases + (add-before + 'build 'pre-build + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile" + ;; Clear the `LIBRARY_PATH' setting, which otherwise + ;; interferes with our own use. + (("^LIBRARY_PATH[[:blank:]]*=.*$") + "") + + ;; Since the Makefile overrides $docdir, modify it to + ;; refer to what we want. + (("^DOCUMENTATION_PATH[[:blank:]]*=.*$") + (let ((doc (assoc-ref outputs "doc"))) + (string-append "DOCUMENTATION_PATH = " + doc "/share/doc/" + ,name "-" ,version "\n")))) + #t)) + (add-before + 'configure 'strip-configure-xml + (lambda _ + (substitute* "config/configure.xml.in" + ;; Do not record 'configure' arguments in the + ;; configure.xml file that gets installed: That would + ;; include --docdir, and thus retain a reference to the + ;; 'doc' output. + (("@CONFIGURE_ARGS@") + "not recorded")) + #t))))))) (define-public perl-image-magick (package From 9d541e97e99793d0c75f01bc52de61473632e0ec Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Tue, 19 Jan 2021 12:43:48 +0000 Subject: [PATCH 0475/1003] gnu: aws-c-common: Update to 0.5.2. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/c.scm (aws-c-common): Update to 0.5.2. [arguments]: Build as shared library. Signed-off-by: Ludovic Courtès --- gnu/packages/c.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index 7d8d41d266..75fa6460be 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Katherine Cox-Buday ;;; Copyright © 2020 Maxim Cournoyer -;;; Copyright © 2020 Greg Hogan +;;; Copyright © 2020, 2021 Greg Hogan ;;; ;;; This file is part of GNU Guix. ;;; @@ -545,7 +545,7 @@ portability.") (define-public aws-c-common (package (name "aws-c-common") - (version "0.4.63") + (version "0.5.2") (source (origin (method git-fetch) (uri (git-reference @@ -554,8 +554,11 @@ portability.") (file-name (git-file-name name version)) (sha256 (base32 - "16bc6fn1gq3nqcrzgpi2kjphq7xkkr73aljakrg89ysm6hyzyim9")))) + "0rd2qzaa9mmn5f6f2bl1wgv54f17pqx3vwyy9f8ylh59qfnilpmg")))) (build-system cmake-build-system) + (arguments + '(#:configure-flags + '("-DBUILD_SHARED_LIBS=ON"))) (synopsis "Amazon Web Services core C library") (description "This library provides common C99 primitives, configuration, data From cc95d03ec7aa2d4de2f880fdb0c9ccbf3343e041 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Thu, 4 Mar 2021 12:19:50 +0000 Subject: [PATCH 0476/1003] gnu: aws-checksums: Build as shared library. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/c.scm (aws-checksums)[arguments]: Build as shared library. Signed-off-by: Ludovic Courtès --- gnu/packages/c.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index 75fa6460be..1e338bd7bd 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -581,6 +581,9 @@ portability.") "1pjs31x3cq9wyw511y00kksz660m8im9zxk30hid8iwlilcbnyvx")) (patches (search-patches "aws-checksums-cmake-prefix.patch")))) (build-system cmake-build-system) + (arguments + '(#:configure-flags + '("-DBUILD_SHARED_LIBS=ON"))) (inputs `(("aws-c-common" ,aws-c-common))) (synopsis "Amazon Web Services checksum library") From 748e2ec07a4f484dd4416b4cac5c28b1b13c47ee Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Tue, 19 Jan 2021 12:51:36 +0000 Subject: [PATCH 0477/1003] gnu: Add aws-c-cal. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/c.scm (aws-c-cal): New variable. * gnu/packages/patches/aws-c-cal-cmake-prefix.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/c.scm | 30 +++++++++++++++++++ .../patches/aws-c-cal-cmake-prefix.patch | 13 ++++++++ 3 files changed, 44 insertions(+) create mode 100644 gnu/packages/patches/aws-c-cal-cmake-prefix.patch diff --git a/gnu/local.mk b/gnu/local.mk index 46f76c16cc..44c665d5b0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -830,6 +830,7 @@ dist_patch_DATA = \ %D%/packages/patches/avahi-localstatedir.patch \ %D%/packages/patches/avidemux-install-to-lib.patch \ %D%/packages/patches/awesome-reproducible-png.patch \ + %D%/packages/patches/aws-c-cal-cmake-prefix.patch \ %D%/packages/patches/aws-c-event-stream-cmake-prefix.patch \ %D%/packages/patches/aws-checksums-cmake-prefix.patch \ %D%/packages/patches/azr3.patch \ diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index 1e338bd7bd..c83e6f36e3 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -52,6 +52,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages gettext) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages tls) #:use-module (gnu packages xml)) (define-public tcc @@ -619,3 +620,32 @@ event stream encoding, a binary format for bidirectional client-server communication.") (home-page "https://github.com/awslabs/aws-c-event-stream") (license license:asl2.0))) + +(define-public aws-c-cal + (package + (name "aws-c-cal") + (version "0.4.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url (string-append "https://github.com/awslabs/" name)) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04acra1mnzw9q7jycs5966akfbgnx96hkrq90nq0dhw8pvarlyv6")) + (patches (search-patches "aws-c-cal-cmake-prefix.patch")))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags + '("-DBUILD_SHARED_LIBS=ON"))) + (propagated-inputs + `(("aws-c-common" ,aws-c-common))) + (inputs + `(("openssl" ,openssl) + ("openssl:static" ,openssl "static"))) + (synopsis "Amazon Web Services Crypto Abstraction Layer") + (description "This library provides a C99 wrapper for hash, HMAC, and ECC +cryptographic primitives for the @acronym{AWS,Amazon Web Services} SDK.") + (home-page "https://github.com/awslabs/aws-c-cal") + (license license:asl2.0))) diff --git a/gnu/packages/patches/aws-c-cal-cmake-prefix.patch b/gnu/packages/patches/aws-c-cal-cmake-prefix.patch new file mode 100644 index 0000000000..1ee7aa851d --- /dev/null +++ b/gnu/packages/patches/aws-c-cal-cmake-prefix.patch @@ -0,0 +1,13 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -10,6 +10,10 @@ endif() + + option(BYO_CRYPTO "Set this if you want to provide your own cryptography implementation. This will cause the defaults to not be compiled." OFF) + ++if (DEFINED ENV{CMAKE_PREFIX_PATH}) ++ set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH}) ++endif() ++ + if (DEFINED CMAKE_PREFIX_PATH) + file(TO_CMAKE_PATH "${CMAKE_PREFIX_PATH}" CMAKE_PREFIX_PATH) + endif() From 1b518888638dce0c44192e8c0bbcb40752d162b4 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Tue, 19 Jan 2021 12:52:01 +0000 Subject: [PATCH 0478/1003] gnu: Add s2n. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/tls.scm (s2n): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/tls.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index a5cffeb3e1..e0741ad310 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -1135,3 +1135,30 @@ relatively simple Bash script.") derived from Mozilla's collection.") (home-page "https://certifi.io") (license license:mpl2.0)))) + +(define-public s2n + (package + (name "s2n") + (version "1.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url (string-append "https://github.com/awslabs/" name)) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1q6kmgwb8jxmc4ijzk9pkqzz8lsbfsv9hyzqvy944w7306zx1r5h")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f ; tests fail to build for static library + #:configure-flags + '("-DBUILD_TESTING=OFF" + "-DBUILD_SHARED_LIBS=ON"))) + (propagated-inputs + `(("openssl" ,openssl) + ("openssl:static" ,openssl "static"))) + (synopsis "SSL/TLS implementation") + (description "This library provides a C99 implementation of SSL/TLS.") + (home-page "https://github.com/awslabs/s2n") + (license license:asl2.0))) From 8ea7b6f91e42133181dc7d48df3f92bfa4bb67c3 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Tue, 19 Jan 2021 12:53:18 +0000 Subject: [PATCH 0479/1003] gnu: Add aws-c-io. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/c.scm (aws-c-io): New variable. * gnu/packages/patches/aws-c-io-cmake-prefix.patch, gnu/packages/patches/aws-c-io-disable-networking-tests.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 2 + gnu/packages/c.scm | 31 +++++++ .../patches/aws-c-io-cmake-prefix.patch | 13 +++ .../aws-c-io-disable-networking-tests.patch | 81 +++++++++++++++++++ 4 files changed, 127 insertions(+) create mode 100644 gnu/packages/patches/aws-c-io-cmake-prefix.patch create mode 100644 gnu/packages/patches/aws-c-io-disable-networking-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index 44c665d5b0..e2bebb90d2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -832,6 +832,8 @@ dist_patch_DATA = \ %D%/packages/patches/awesome-reproducible-png.patch \ %D%/packages/patches/aws-c-cal-cmake-prefix.patch \ %D%/packages/patches/aws-c-event-stream-cmake-prefix.patch \ + %D%/packages/patches/aws-c-io-cmake-prefix.patch \ + %D%/packages/patches/aws-c-io-disable-networking-tests.patch \ %D%/packages/patches/aws-checksums-cmake-prefix.patch \ %D%/packages/patches/azr3.patch \ %D%/packages/patches/bash-reproducible-linux-pgrp-pipe.patch \ diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index c83e6f36e3..74c4b673a7 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -621,6 +621,37 @@ communication.") (home-page "https://github.com/awslabs/aws-c-event-stream") (license license:asl2.0))) +(define-public aws-c-io + (package + (name "aws-c-io") + (version "0.9.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url (string-append "https://github.com/awslabs/" name)) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1vwyf1pm0hhcypyjc9xh9x7y50ic79xlbck1yf9d9wz0bnh43p7v")) + (patches + (search-patches + "aws-c-io-cmake-prefix.patch" + "aws-c-io-disable-networking-tests.patch")))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags + '("-DBUILD_SHARED_LIBS=ON"))) + (propagated-inputs + `(("aws-c-cal" ,aws-c-cal) + ("aws-c-common" ,aws-c-common) + ("s2n" ,s2n))) + (synopsis "Event driven framework for implementing application protocols") + (description "This library provides a C99 framework for constructing +event-driven, asynchronous network application protocols.") + (home-page "https://github.com/awslabs/aws-c-io") + (license license:asl2.0))) + (define-public aws-c-cal (package (name "aws-c-cal") diff --git a/gnu/packages/patches/aws-c-io-cmake-prefix.patch b/gnu/packages/patches/aws-c-io-cmake-prefix.patch new file mode 100644 index 0000000000..da3e4eb4a5 --- /dev/null +++ b/gnu/packages/patches/aws-c-io-cmake-prefix.patch @@ -0,0 +1,13 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,6 +6,10 @@ if (POLICY CMP0069) + cmake_policy(SET CMP0069 NEW) # Enable LTO/IPO if available in the compiler, see AwsCFlags + endif() + ++if (DEFINED ENV{CMAKE_PREFIX_PATH}) ++ set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH}) ++endif() ++ + if (DEFINED CMAKE_PREFIX_PATH) + file(TO_CMAKE_PATH "${CMAKE_PREFIX_PATH}" CMAKE_PREFIX_PATH) + endif() diff --git a/gnu/packages/patches/aws-c-io-disable-networking-tests.patch b/gnu/packages/patches/aws-c-io-disable-networking-tests.patch new file mode 100644 index 0000000000..09fe11310c --- /dev/null +++ b/gnu/packages/patches/aws-c-io-disable-networking-tests.patch @@ -0,0 +1,81 @@ +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -52,8 +52,8 @@ add_test_case(local_socket_communication) + add_net_test_case(tcp_socket_communication) + add_net_test_case(udp_socket_communication) + add_test_case(udp_bind_connect_communication) +-add_net_test_case(connect_timeout) +-add_net_test_case(connect_timeout_cancelation) ++#add_net_test_case(connect_timeout) ++#add_net_test_case(connect_timeout_cancelation) + if (USE_VSOCK) + add_test_case(vsock_loopback_socket_communication) + endif () +@@ -64,7 +64,7 @@ add_test_case(incoming_tcp_sock_errors) + add_test_case(incoming_duplicate_tcp_bind_errors) + add_test_case(incoming_udp_sock_errors) + add_test_case(wrong_thread_read_write_fails) +-add_net_test_case(cleanup_before_connect_or_timeout_doesnt_explode) ++#add_net_test_case(cleanup_before_connect_or_timeout_doesnt_explode) + add_test_case(cleanup_in_accept_doesnt_explode) + add_test_case(cleanup_in_write_cb_doesnt_explode) + add_test_case(sock_write_cb_is_async) +@@ -81,21 +81,21 @@ add_test_case(channel_tasks_run) + add_test_case(channel_rejects_post_shutdown_tasks) + add_test_case(channel_cancels_pending_tasks) + add_test_case(channel_duplicate_shutdown) +-add_net_test_case(channel_connect_some_hosts_timeout) ++#add_net_test_case(channel_connect_some_hosts_timeout) + +-add_net_test_case(test_default_with_ipv6_lookup) ++#add_net_test_case(test_default_with_ipv6_lookup) + add_test_case(test_resolver_ipv6_address_lookup) +-add_net_test_case(test_default_with_multiple_lookups) ++#add_net_test_case(test_default_with_multiple_lookups) + add_test_case(test_resolver_ipv4_address_lookup) +-add_net_test_case(test_default_with_ipv4_only_lookup) ++#add_net_test_case(test_default_with_ipv4_only_lookup) + add_test_case(test_resolver_ttls) + add_test_case(test_resolver_connect_failure_recording) + add_test_case(test_resolver_ttl_refreshes_on_resolve) + + add_net_test_case(test_resolver_listener_create_destroy) +-add_net_test_case(test_resolver_add_listener_before_host) +-add_net_test_case(test_resolver_add_listener_after_host) +-add_net_test_case(test_resolver_add_multiple_listeners_fn) ++#add_net_test_case(test_resolver_add_listener_before_host) ++#add_net_test_case(test_resolver_add_listener_after_host) ++#add_net_test_case(test_resolver_add_multiple_listeners_fn) + add_net_test_case(test_resolver_listener_host_re_add_fn) + add_net_test_case(test_resolver_listener_multiple_results) + add_net_test_case(test_resolver_listener_address_expired_fn) +@@ -119,20 +119,20 @@ add_test_case(socket_handler_close) + if (NOT BYO_CRYPTO) + add_net_test_case(test_concurrent_cert_import) + add_test_case(tls_channel_echo_and_backpressure_test) +- add_net_test_case(tls_client_channel_negotiation_error_expired) +- add_net_test_case(tls_client_channel_negotiation_error_wrong_host) +- add_net_test_case(tls_client_channel_negotiation_error_self_signed) +- add_net_test_case(tls_client_channel_negotiation_error_untrusted_root) ++ #add_net_test_case(tls_client_channel_negotiation_error_expired) ++ #add_net_test_case(tls_client_channel_negotiation_error_wrong_host) ++ #add_net_test_case(tls_client_channel_negotiation_error_self_signed) ++ #add_net_test_case(tls_client_channel_negotiation_error_untrusted_root) + #track these down in s2n and find out why that aren't failing. + #add_net_test_case(tls_client_channel_negotiation_error_revoked) + #add_net_test_case(tls_client_channel_negotiation_error_pinning) +- add_net_test_case(tls_client_channel_negotiation_error_socket_closed) +- add_net_test_case(tls_client_channel_negotiation_success) +- add_net_test_case(tls_client_channel_negotiation_success_ecc256) +- add_net_test_case(tls_client_channel_negotiation_success_ecc384) ++ #add_net_test_case(tls_client_channel_negotiation_error_socket_closed) ++ #add_net_test_case(tls_client_channel_negotiation_success) ++ #add_net_test_case(tls_client_channel_negotiation_success_ecc256) ++ #add_net_test_case(tls_client_channel_negotiation_success_ecc384) + add_net_test_case(tls_server_multiple_connections) + add_net_test_case(tls_server_hangup_during_negotiation) +- add_net_test_case(tls_client_channel_no_verify) ++ #add_net_test_case(tls_client_channel_no_verify) + add_net_test_case(test_tls_negotiation_timeout) + add_net_test_case(tls_double_channel) + add_net_test_case(alpn_successfully_negotiates) From 97190845355768afefa52f3d1dc355cddbc43542 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Tue, 19 Jan 2021 12:53:50 +0000 Subject: [PATCH 0480/1003] gnu: aws-c-event-stream: Update to 0.2.7. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/c.scm (aws-c-event-stream): Update to 0.2.7. [arguments]: Build as shared library. Signed-off-by: Ludovic Courtès --- gnu/packages/c.scm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index 74c4b673a7..429ff94070 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -597,7 +597,7 @@ with fallback to efficient C99 software implementations.") (define-public aws-c-event-stream (package (name "aws-c-event-stream") - (version "0.1.6") + (version "0.2.7") (source (origin (method git-fetch) (uri (git-reference @@ -606,13 +606,19 @@ with fallback to efficient C99 software implementations.") (file-name (git-file-name name version)) (sha256 (base32 - "1vl9ainc4klv0g9gk1iv4833bsllni6jxn6mwb0fnv2dnlz7zv9q")) + "0xwwr7gdgfrphk6j7vk12rgimfim6m4qnj6hg8hgg16cplhvsfzh")) (patches (search-patches "aws-c-event-stream-cmake-prefix.patch")))) (build-system cmake-build-system) + (arguments + '(#:configure-flags + '("-DBUILD_SHARED_LIBS=ON"))) (propagated-inputs - `(("aws-c-common" ,aws-c-common))) + `(("aws-c-common" ,aws-c-common) + ("aws-c-io" ,aws-c-io) + ("aws-checksums" ,aws-checksums))) (inputs - `(("aws-checksums" ,aws-checksums))) + `(("aws-c-cal" ,aws-c-cal) + ("s2n" ,s2n))) (synopsis "Amazon Web Services client-server message format library") (description "This library is a C99 implementation for @acronym{AWS,Amazon Web Services} From bd0808f13159f2cd6ceb1ba74a00e51f4e595807 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Tue, 19 Jan 2021 12:54:39 +0000 Subject: [PATCH 0481/1003] gnu: aws-sdk-cpp: Update to 1.8.159. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cpp.scm (aws-sdk-cpp): Update to 1.8.159. [arguments]: Build as shared library Signed-off-by: Ludovic Courtès --- gnu/packages/cpp.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index ce9c9502ef..02a82091b8 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -813,7 +813,7 @@ of C++14 components that complements @code{std} and Boost.") (define-public aws-sdk-cpp (package (name "aws-sdk-cpp") - (version "1.8.102") + (version "1.8.159") (source (origin (method git-fetch) (uri (git-reference @@ -822,13 +822,13 @@ of C++14 components that complements @code{std} and Boost.") (file-name (git-file-name name version)) (sha256 (base32 - "1w8x2vakg5ngjyyg08n4g3dqy8wqnz0k3gkrlqrh460s2pvdivba")))) + "0jpfv9x82nq7hcix9in7qgrc8009dwpg6gr96hlgmcvqrqckd2r9")))) (build-system cmake-build-system) (arguments '(;; Tests are run during the build phase. #:tests? #f #:configure-flags - '("-DBUILD_SHARED_LIBS=OFF" + '("-DBUILD_SHARED_LIBS=ON" "-DBUILD_DEPS=OFF"))) (propagated-inputs `(("aws-c-common" ,aws-c-common) From 6862ae1a61b7fce12a7d50a6a15ce8e2fc00ad7d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 12 Mar 2021 23:43:05 +0100 Subject: [PATCH 0482/1003] gnu: photoflare: Update to 1.6.7. * gnu/packages/photo.scm (photoflare): Update to 1.6.7. --- gnu/packages/photo.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 5b15c1a727..4d679c7f02 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015, 2017 Andreas Enge ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2017 Roel Janssen -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice ;;; Copyright © 2018 Leo Famulari ;;; Copyright © 2020 Sebastian Schott ;;; Copyright © 2020 Vincent Legoll @@ -585,7 +585,7 @@ and enhance them.") (define-public photoflare (package (name "photoflare") - (version "1.6.6") + (version "1.6.7") (source (origin (method git-fetch) @@ -594,7 +594,7 @@ and enhance them.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "07lrlxagv1bljj607s8m0zsbzx9jrvi18bnxahnm7r4i5car5x2d")))) + (base32 "0rh5gvnc1zwx4p9h599s82m69gsxp19nnfcxsblx3b2ddwzxh78v")))) (build-system gnu-build-system) (arguments '(#:tests? #f ;no tests From 4ddf56c1364f21f2407783242e2715a6be86c5b7 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 12 Mar 2021 23:44:06 +0100 Subject: [PATCH 0483/1003] gnu: libfreenect: Update to 0.6.2. * gnu/packages/openkinect.scm (libfreenect): Update to 0.6.2. --- gnu/packages/openkinect.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/openkinect.scm b/gnu/packages/openkinect.scm index 0cdecca3ab..89e6c69cfc 100644 --- a/gnu/packages/openkinect.scm +++ b/gnu/packages/openkinect.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Ekaitz Zarraga +;;; Copyright © 2021 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,7 +31,7 @@ #:use-module (gnu packages image-processing)) (define-public libfreenect - (let ((version "0.6.1")) + (let ((version "0.6.2")) (package (name "libfreenect") (version version) @@ -42,7 +43,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0was1va167rqshmpn382h36yyprpfi9cwillb6ylppmnfdrfrhrr")))) + "02pb8mcl62kzdcgbnv3rw4nl0f08iw8pjiqqhfy3ycpkvyppw97w")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; package has no tests From 1e71578c4a5faf4f9cfddd50573ad9e8a3044489 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 12 Mar 2021 23:54:57 +0100 Subject: [PATCH 0484/1003] gnu: micropython: Update to 1.14. * gnu/packages/python.scm (micropython): Update to 1.14. --- gnu/packages/python.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index e05c91b3d0..8f1bc65548 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -32,7 +32,7 @@ ;;; Copyright © 2016, 2017 Alex Vong ;;; Copyright © 2016, 2017, 2018 Arun Isaac ;;; Copyright © 2016, 2017, 2018 Julien Lepiller -;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2016–2018, 2021 Tobias Geerinckx-Rice ;;; Copyright © 2016, 2017 Thomas Danckaert ;;; Copyright © 2017 Carlo Zancanaro ;;; Copyright © 2017 Frederick M. Muriithi @@ -668,15 +668,15 @@ To function properly, this package should not be installed together with the (define-public micropython (package (name "micropython") - (version "1.13") + (version "1.14") (source (origin (method url-fetch) (uri (string-append "https://github.com/micropython/micropython/" "releases/download/v" version - "/micropython-" version ".tar.gz")) + "/micropython-" version ".tar.xz")) (sha256 - (base32 "0lfl7dv5v9rqckslrjqy5swjri29x1nj5d79wxnjys4sq6r2xcws")) + (base32 "0k6ri3rxxnnmvcbi7z7x59r21f4vj9dcf9j64jhj1cgazmb62c4p")) (modules '((guix build utils))) (snippet '(begin From deb8853243e115112baff5325b4b137c1d0890b4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 13 Mar 2021 00:49:09 +0100 Subject: [PATCH 0485/1003] gnu: eid-mw: Update to 5.0.14. * gnu/packages/security-token.scm (eid-mw): Update to 5.0.14. --- gnu/packages/security-token.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index c1641e8b5f..f47619aa55 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -104,7 +104,7 @@ readers and is needed to communicate with such devices through the (define-public eid-mw (package (name "eid-mw") - (version "5.0.11") + (version "5.0.14") (source (origin (method git-fetch) @@ -113,7 +113,7 @@ readers and is needed to communicate with such devices through the (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0590cz00cny749p99srv880gpgzvxaf9fwm2lghv3nw0qdsilss8")))) + (base32 "1hyxsbxjjn9hh5p7jlcfb5yplf3n8dg49dfgi8fjp95phis3gbd4")))) (build-system glib-or-gtk-build-system) (native-inputs `(("autoconf" ,autoconf) From fab02edde013437cde293bcd8f5dba553535c0fb Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 13 Mar 2021 00:55:18 +0100 Subject: [PATCH 0486/1003] gnu: wireguard-tools: Update to 1.0.20210223. * gnu/packages/vpn.scm (wireguard-tools): Update to 1.0.20210223. --- gnu/packages/vpn.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index f18dc6760c..2ea04acaa2 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -683,7 +683,7 @@ WireGuard was added to Linux 5.6.") (define-public wireguard-tools (package (name "wireguard-tools") - (version "1.0.20200827") + (version "1.0.20210223") (source (origin (method git-fetch) @@ -692,7 +692,7 @@ WireGuard was added to Linux 5.6.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1h351hn531z6z85sx9ya27xjz1jszgn1pkwibacjj49mds15f7gn")))) + (base32 "1pz7rir7bzj7rv1lqy45pqnr6jxsb4war31f9492757fql7kcrf4")))) (build-system gnu-build-system) (arguments `(#:make-flags From 347cc54200680b16d4d8e38abcedf4a3886c4061 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 13 Mar 2021 00:54:02 +0100 Subject: [PATCH 0487/1003] gnu: apache-thrift: Update to 0.14.1. * gnu/packages/rpc.scm (apache-thrift): Update to 0.14.1. --- gnu/packages/rpc.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/rpc.scm b/gnu/packages/rpc.scm index 8036998910..4a279874ce 100644 --- a/gnu/packages/rpc.scm +++ b/gnu/packages/rpc.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Brett Gilio ;;; Copyright © 2021 Greg Hogan +;;; Copyright © 2021 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -208,7 +209,7 @@ with the HTTP/2-based RPC framework gRPC.") (define-public apache-thrift (package (name "apache-thrift") - (version "0.14.0") + (version "0.14.1") (source (origin (method git-fetch) @@ -217,8 +218,7 @@ with the HTTP/2-based RPC framework gRPC.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "09s8j95vc18117ahyl34gbd0gdxijkf0krrd3mp47vl08lcvi4kc")))) + (base32 "1mj3c5jhjbg2sfkx9k9jqg88h1c5rswr9b606s02ny9ydf3akcny")))) (build-system gnu-build-system) (arguments '(#:tests? #f From c3250995358a3baf1f747816486b7ac4a9be533e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 13 Mar 2021 00:59:03 +0100 Subject: [PATCH 0488/1003] gnu: nginx: Update to 1.19.8. * gnu/packages/web.scm (nginx): Update to 1.19.8. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index ed9273e683..f9b94feb02 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -293,14 +293,14 @@ the same, being completely separated from the Internet.") ;; ’stable’ and recommends that “in general you deploy the NGINX mainline ;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/) ;; Consider updating the nginx-documentation package together with this one. - (version "1.19.7") + (version "1.19.8") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "03mmfnkhayn8vm2yhs3ngvif6275c368ymx8wvhsbls11h1dvr3s")))) + "01cb6hsaik1sfjihbrldmwrcn54gk4plfy350sl1b4rml6qik29h")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("pcre" ,pcre) From cad4aa667cc89493902aefbae157ddb97f381af2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 13 Mar 2021 00:59:20 +0100 Subject: [PATCH 0489/1003] gnu: nginx-documentation: Update to 1.19.8-2673-4398fd0f0341. * gnu/packages/web.scm (nginx-documentation): Update to 1.19.8-2673-4398fd0f0341. --- gnu/packages/web.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index f9b94feb02..4a14046d42 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -383,9 +383,9 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.") (define-public nginx-documentation ;; This documentation should be relevant for the current nginx package. - (let ((version "1.19.7") - (revision 2655) - (changeset "eb417a9a089b")) + (let ((version "1.19.8") + (revision 2673) + (changeset "4398fd0f0341")) (package (name "nginx-documentation") (version (simple-format #f "~A-~A-~A" version revision changeset)) @@ -397,7 +397,7 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.") (file-name (string-append name "-" version)) (sha256 (base32 - "0l4rachjn5gr705f50d9pwgqzkb4fqd4fzz7083ilfarpg36wgv2")))) + "1pds76h19fadmymyr6pnfh72ql6vizpv2628lqcrpqhxgwa6hcbg")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no test suite From 62b1ae7444ebe216905e0cec0e0ae8ea8454775b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Sat, 13 Mar 2021 01:50:57 +0100 Subject: [PATCH 0490/1003] gnu: Add rust-bigdecimal-0.1. * gnu/packages/crates-io.scm (rust-bigdecimal-0.1): New variable. --- gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index e1628bf565..d94b9bd758 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -3969,6 +3969,29 @@ tracebacks.") (description "This package provides arbitrary precision decimal numbers.") (license (list license:expat license:asl2.0)))) +(define-public rust-bigdecimal-0.1 + (package + (inherit rust-bigdecimal-0.2) + (name "rust-bigdecimal") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "bigdecimal" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0i32g88sin9dzr4jn41wgg3pyx2xxm0m1a9s5vh9lpyj5lg1jx0k")))) + (arguments + `(#:cargo-inputs + (("rust-num-bigint" ,rust-num-bigint-0.2) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-serde-json" ,rust-serde-json-1)))))) + (define-public rust-bincode-1 (package (name "rust-bincode") From 372a16e5c7c8181e9a84e0337252abba3ff31fd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Sat, 13 Mar 2021 01:51:47 +0100 Subject: [PATCH 0491/1003] gnu: rust-dotenv-0.10: Fix build by adding missing cargo input. * gnu/packages/crates-io.scm (rust-dotenv-0.10)[arguments]<#:cargo-inputs>: Add rust-syn-0.11. --- gnu/packages/crates-io.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index d94b9bd758..c523389f47 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -12134,7 +12134,8 @@ Rust.") `(#:cargo-inputs (("rust-derive-error-chain" ,rust-derive-error-chain-0.10) ("rust-error-chain" ,rust-error-chain-0.10) - ("rust-regex" ,rust-regex-0.2)))))) + ("rust-regex" ,rust-regex-0.2) + ("rust-syn" ,rust-syn-0.11)))))) (define-public rust-draw-state-0.8 (package From 77f1bd9dea3def1992603cbf24c4b0003fa3e0f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Sat, 13 Mar 2021 01:57:12 +0100 Subject: [PATCH 0492/1003] gnu: rust-diesel: Update to 1.4.6 [fixes CVE-2021-28305]. * gnu/packages/crates-io.scm (rust-diesel): Update to 1.4.6. [native-inputs]: Add sqlite for tests. [arguments]<#:cargo-inputs>: Remove rust-bigdecimal-0.2 (incompatible), rust-libsqlite3-sys-0.15, rust-num-bigint-0.3 and rust-uuid-0.7. Add rust-bigdecimal-0.1, rust-libsqlite3-sys-0.20, rust-num-bigint-0.2, rust-uuid-0.5 and rust-uuid-0.8. [arguments]<#:phases>: Replace 'check phase to provide required feature arguments and exclude failing 'expression::count::count' test. [synopsis]: Solve lint error by removing article at the beginning. --- gnu/packages/crates-io.scm | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index c523389f47..6b242e735c 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -11325,28 +11325,31 @@ procedural macros.") (define-public rust-diesel-1 (package (name "rust-diesel") - (version "1.4.5") + (version "1.4.6") (source (origin (method url-fetch) (uri (crate-uri "diesel" version)) - (file-name (string-append name "-" version ".tar.gz")) + (file-name + (string-append name "-" version ".tar.gz")) (sha256 (base32 - "134dy6gdbv30q388gsp5777w2qh63hdqsim1j8s1aylpmggfjb9y")))) + "0hpmwrc0zx3zvpgwp9zrm6wj8d8i8q8990grlrnfzlivbi6zqyq4")))) (build-system cargo-build-system) + (native-inputs + `(("sqlite" ,sqlite))) (arguments `(#:cargo-inputs - (("rust-bigdecimal" ,rust-bigdecimal-0.2) + (("rust-bigdecimal" ,rust-bigdecimal-0.1) ("rust-bitflags" ,rust-bitflags-1) ("rust-byteorder" ,rust-byteorder-1) ("rust-chrono" ,rust-chrono-0.4) ("rust-diesel-derives" ,rust-diesel-derives-1) ("rust-ipnetwork" ,rust-ipnetwork-0.17) ("rust-libc" ,rust-libc-0.2) - ("rust-libsqlite3-sys" ,rust-libsqlite3-sys-0.15) + ("rust-libsqlite3-sys" ,rust-libsqlite3-sys-0.20) ("rust-mysqlclient-sys" ,rust-mysqlclient-sys-0.2) - ("rust-num-bigint" ,rust-num-bigint-0.3) + ("rust-num-bigint" ,rust-num-bigint-0.2) ("rust-num-integer" ,rust-num-integer-0.1) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-pq-sys" ,rust-pq-sys-0.4) @@ -11355,14 +11358,21 @@ procedural macros.") ("rust-serde-json" ,rust-serde-json-1) ("rust-time" ,rust-time-0.1) ("rust-url" ,rust-url-1) - ("rust-uuid" ,rust-uuid-0.7)) + ("rust-uuid" ,rust-uuid-0.5) + ("rust-uuid" ,rust-uuid-0.8)) #:cargo-development-inputs (("rust-cfg-if" ,rust-cfg-if-0.1) ("rust-dotenv" ,rust-dotenv-0.10) ("rust-quickcheck" ,rust-quickcheck-0.4) - ("rust-tempdir" ,rust-tempdir-0.3)))) + ("rust-tempdir" ,rust-tempdir-0.3)) + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "cargo" "test" "--features" "sqlite" "--" + "--skip=expression::count::count")))))) (home-page "https://diesel.rs") - (synopsis "A safe, extensible ORM and Query Builder") + (synopsis "Safe, extensible ORM and Query Builder") (description "This package provides a safe, extensible ORM and Query Builder for PostgreSQL, SQLite, and MySQL.") (license (list license:expat license:asl2.0)))) From 373c7b5791acd8f377455be47260948b843dd5db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Sat, 13 Mar 2021 02:31:53 +0100 Subject: [PATCH 0493/1003] gnu: Remove bsdiff. As discussed in , remove because of unpatched CVE-2020-14315 with no non-FreeBSD patch in sight. * gnu/packages/compression.scm (bsdiff): Remove. --- gnu/packages/compression.scm | 39 ------------------------------------ 1 file changed, 39 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 8e2a3a78f1..99569f68c9 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -953,45 +953,6 @@ possible and can compress in parallel. This is especially useful for large tarballs.") (license license:bsd-2))) -(define-public bsdiff - (package - (name "bsdiff") - (version "4.3") - (home-page "https://www.daemonology.net/bsdiff/") - (source (origin - (method url-fetch) - (uri (string-append home-page name "-" version ".tar.gz")) - (sha256 - (base32 - "0j2zm3z271x5aw63mwhr3vymzn45p2vvrlrpm9cz2nywna41b0hq")) - (patches (search-patches "bsdiff-CVE-2014-9862.patch")))) - (build-system gnu-build-system) - (arguments - `(#:make-flags (list "INSTALL=install" - (string-append "CC=" ,(cc-for-target)) - (string-append "PREFIX=" (assoc-ref %outputs "out"))) - #:phases (modify-phases %standard-phases - (delete 'configure) - (add-before 'build 'fix-Makefile - (lambda _ - (substitute* "Makefile" - ;; Adjust syntax to make it compatible with GNU Make. - (("^\\.") "") - ;; Help install(1) create the target directory. - (("\\$\\{PREFIX\\}") "-D -t ${PREFIX}")) - #t))) - #:tests? #f)) ;no tests - (inputs - `(("bzip2" ,bzip2))) - (synopsis "Patch binary files") - (description - "@command{bsdiff} and @command{bspatch} are tools for building and -applying patches to binary files. By using suffix sorting (specifically -Larsson and Sadakane's @code{qsufsort}) and taking advantage of how -executable files change, bsdiff routinely produces binary patches 50-80% -smaller than those produced by @code{Xdelta}.") - (license license:bsd-2))) - (define-public cabextract (package (name "cabextract") From b7c19f2850824cac4c5f8919d1c355f484001cbf Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Fri, 12 Mar 2021 19:02:14 -0500 Subject: [PATCH 0494/1003] gnu: wxmaxima: Update to 21.02.0. * gnu/packages/maths.scm (wxmaxima): Update to 21.02.0. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 6856737bdf..565f109f47 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3523,7 +3523,7 @@ point numbers.") (define-public wxmaxima (package (name "wxmaxima") - (version "21.01.0") + (version "21.02.0") (source (origin (method git-fetch) @@ -3532,7 +3532,7 @@ point numbers.") (commit (string-append "Version-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1bnv9410xmk73adqi4r6w0qgbqk7qig0vr5219839c09xagyyd12")))) + (base32 "19sab596ydwz65151bwymnfilyfmr8qcxb0k8cxlnj1gmdldlyz6")))) (build-system cmake-build-system) (native-inputs `(("gettext" ,gettext-minimal))) From a61bdc588773902d402787db7ea68e4d038cd3ea Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 13 Mar 2021 09:13:23 +0100 Subject: [PATCH 0495/1003] gnu: rust-resolv-conf-0.7: Use HTTPS home page URI. * gnu/packages/crates-io.scm (rust-resolv-conf-0.7)[home-page]: Use HTTPS URI. --- gnu/packages/crates-io.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 6b242e735c..f6d565e24d 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -32681,7 +32681,7 @@ uses finite automata and guarantees linear time matching on all inputs.") #:cargo-inputs (("rust-hostname" ,rust-hostname-0.3) ("rust-quick-error" ,rust-quick-error-1)))) - (home-page "http://github.com/tailhook/resolv-conf") + (home-page "https://github.com/tailhook/resolv-conf") (synopsis "Parser for @file{/etc/resolv.conf}") (description "This package provides a parser for @file{/etc/resolv.conf} file.") From ca8fa11754563786ffbae8de8da21fe086e1f9d2 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Sat, 13 Mar 2021 09:29:26 +0100 Subject: [PATCH 0496/1003] gnu: mergerfs: Update to 2.32.4. * gnu/packages/file-systems.scm (mergerfs): Update to 2.32.4. --- gnu/packages/file-systems.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index a6c7969638..e7d78e41fb 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -978,7 +978,7 @@ community.") (define-public mergerfs (package (name "mergerfs") - (version "2.31.0") + (version "2.32.4") (source (origin (method url-fetch) @@ -986,7 +986,7 @@ community.") version "/mergerfs-" version ".tar.gz")) (sha256 (base32 - "0k4asbg5n9dhy5jpjkw6simqqnr1zira2y4i71cq05091dfwm90p")))) + "0yz7nljx6axcj6hb09sgc0waspgfhp535228rjqvqgyd8y74jc3s")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; No tests exist. From 74e2c0e00f58c8bf948f7dc7c5ae2876af910d5a Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 13 Mar 2021 03:41:14 -0500 Subject: [PATCH 0497/1003] gnu: gnutls: Fix CVE-2021-20231 and CVE-2021-20232. * gnu/packages/patches/gnutls-CVE-2021-20231.patch, gnu/packages/patches/gnutls-CVE-2021-20232.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/tls.scm (gnutls)[replacement]: New field. (gnutls/fixed): New variable. (guile2.2-gnutls): Use package/inherit. --- gnu/local.mk | 2 + .../patches/gnutls-CVE-2021-20231.patch | 62 +++++++++++++++++++ .../patches/gnutls-CVE-2021-20232.patch | 60 ++++++++++++++++++ gnu/packages/tls.scm | 15 ++++- 4 files changed, 136 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/gnutls-CVE-2021-20231.patch create mode 100644 gnu/packages/patches/gnutls-CVE-2021-20232.patch diff --git a/gnu/local.mk b/gnu/local.mk index e2bebb90d2..551503e053 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1144,6 +1144,8 @@ dist_patch_DATA = \ %D%/packages/patches/gnupg-default-pinentry.patch \ %D%/packages/patches/gnutls-skip-trust-store-test.patch \ %D%/packages/patches/gnutls-cross.patch \ + %D%/packages/patches/gnutls-CVE-2021-20231.patch \ + %D%/packages/patches/gnutls-CVE-2021-20232.patch \ %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \ %D%/packages/patches/gobject-introspection-cc.patch \ %D%/packages/patches/gobject-introspection-girepository.patch \ diff --git a/gnu/packages/patches/gnutls-CVE-2021-20231.patch b/gnu/packages/patches/gnutls-CVE-2021-20231.patch new file mode 100644 index 0000000000..5186522eee --- /dev/null +++ b/gnu/packages/patches/gnutls-CVE-2021-20231.patch @@ -0,0 +1,62 @@ +From 15beb4b193b2714d88107e7dffca781798684e7e Mon Sep 17 00:00:00 2001 +From: Daiki Ueno +Date: Fri, 29 Jan 2021 14:06:05 +0100 +Subject: [PATCH 1/2] key_share: avoid use-after-free around realloc + +Signed-off-by: Daiki Ueno +--- + lib/ext/key_share.c | 12 +++++------- + 1 file changed, 5 insertions(+), 7 deletions(-) + +diff --git a/lib/ext/key_share.c b/lib/ext/key_share.c +index ab8abf8fe..a8c4bb5cf 100644 +--- a/lib/ext/key_share.c ++++ b/lib/ext/key_share.c +@@ -664,14 +664,14 @@ key_share_send_params(gnutls_session_t session, + { + unsigned i; + int ret; +- unsigned char *lengthp; +- unsigned int cur_length; + unsigned int generated = 0; + const gnutls_group_entry_st *group; + const version_entry_st *ver; + + /* this extension is only being sent on client side */ + if (session->security_parameters.entity == GNUTLS_CLIENT) { ++ unsigned int length_pos; ++ + ver = _gnutls_version_max(session); + if (unlikely(ver == NULL || ver->key_shares == 0)) + return 0; +@@ -679,16 +679,13 @@ key_share_send_params(gnutls_session_t session, + if (!have_creds_for_tls13(session)) + return 0; + +- /* write the total length later */ +- lengthp = &extdata->data[extdata->length]; ++ length_pos = extdata->length; + + ret = + _gnutls_buffer_append_prefix(extdata, 16, 0); + if (ret < 0) + return gnutls_assert_val(ret); + +- cur_length = extdata->length; +- + if (session->internals.hsk_flags & HSK_HRR_RECEIVED) { /* we know the group */ + group = get_group(session); + if (unlikely(group == NULL)) +@@ -736,7 +733,8 @@ key_share_send_params(gnutls_session_t session, + } + + /* copy actual length */ +- _gnutls_write_uint16(extdata->length - cur_length, lengthp); ++ _gnutls_write_uint16(extdata->length - length_pos - 2, ++ &extdata->data[length_pos]); + + } else { /* server */ + ver = get_version(session); +-- +2.30.2 + diff --git a/gnu/packages/patches/gnutls-CVE-2021-20232.patch b/gnu/packages/patches/gnutls-CVE-2021-20232.patch new file mode 100644 index 0000000000..dc3a0be690 --- /dev/null +++ b/gnu/packages/patches/gnutls-CVE-2021-20232.patch @@ -0,0 +1,60 @@ +From 75a937d97f4fefc6f9b08e3791f151445f551cb3 Mon Sep 17 00:00:00 2001 +From: Daiki Ueno +Date: Fri, 29 Jan 2021 14:06:23 +0100 +Subject: [PATCH 2/2] pre_shared_key: avoid use-after-free around realloc + +Signed-off-by: Daiki Ueno +--- + lib/ext/pre_shared_key.c | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +diff --git a/lib/ext/pre_shared_key.c b/lib/ext/pre_shared_key.c +index a042c6488..380bf39ed 100644 +--- a/lib/ext/pre_shared_key.c ++++ b/lib/ext/pre_shared_key.c +@@ -267,7 +267,7 @@ client_send_params(gnutls_session_t session, + size_t spos; + gnutls_datum_t username = {NULL, 0}; + gnutls_datum_t user_key = {NULL, 0}, rkey = {NULL, 0}; +- gnutls_datum_t client_hello; ++ unsigned client_hello_len; + unsigned next_idx; + const mac_entry_st *prf_res = NULL; + const mac_entry_st *prf_psk = NULL; +@@ -428,8 +428,7 @@ client_send_params(gnutls_session_t session, + assert(extdata->length >= sizeof(mbuffer_st)); + assert(ext_offset >= (ssize_t)sizeof(mbuffer_st)); + ext_offset -= sizeof(mbuffer_st); +- client_hello.data = extdata->data+sizeof(mbuffer_st); +- client_hello.size = extdata->length-sizeof(mbuffer_st); ++ client_hello_len = extdata->length-sizeof(mbuffer_st); + + next_idx = 0; + +@@ -440,6 +439,11 @@ client_send_params(gnutls_session_t session, + } + + if (prf_res && rkey.size > 0) { ++ gnutls_datum_t client_hello; ++ ++ client_hello.data = extdata->data+sizeof(mbuffer_st); ++ client_hello.size = client_hello_len; ++ + ret = compute_psk_binder(session, prf_res, + binders_len, binders_pos, + ext_offset, &rkey, &client_hello, 1, +@@ -474,6 +478,11 @@ client_send_params(gnutls_session_t session, + } + + if (prf_psk && user_key.size > 0 && info) { ++ gnutls_datum_t client_hello; ++ ++ client_hello.data = extdata->data+sizeof(mbuffer_st); ++ client_hello.size = client_hello_len; ++ + ret = compute_psk_binder(session, prf_psk, + binders_len, binders_pos, + ext_offset, &user_key, &client_hello, 0, +-- +2.30.2 + diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index e0741ad310..e8e1350e29 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès -;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2021 Mark H Weaver ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2015 David Thompson @@ -165,6 +165,7 @@ living in the same process.") (package (name "gnutls") (version "3.6.15") + (replacement gnutls/fixed) (source (origin (method url-fetch) ;; Note: Releases are no longer on ftp.gnu.org since the @@ -256,6 +257,15 @@ required structures.") (properties '((ftp-server . "ftp.gnutls.org") (ftp-directory . "/gcrypt/gnutls"))))) +(define gnutls/fixed + (package + (inherit gnutls) + (source (origin + (inherit (package-source gnutls)) + (patches (append (search-patches "gnutls-CVE-2021-20231.patch" + "gnutls-CVE-2021-20232.patch") + (origin-patches (package-source gnutls)))))))) + (define-public gnutls/guile-2.0 ;; GnuTLS for Guile 2.0. (package/inherit gnutls @@ -274,8 +284,7 @@ required structures.") ,@(package-inputs gnutls))))) (define-public guile2.2-gnutls - (package - (inherit gnutls) + (package/inherit gnutls (name "guile2.2-gnutls") (inputs `(("guile" ,guile-2.2) ,@(alist-delete "guile" From d091371c59e2c10f4b2c61f5e18da5b8d1c0e109 Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Sat, 13 Mar 2021 10:52:17 +0000 Subject: [PATCH 0498/1003] gnu: emacs-ivy-rich: Update to 0.1.6-1.7b9b7b2. * gnu/packages/emacs-xyz.scm (emacs-ivy-rich): Update to git snapshot 0.1.6-1.7b9b7b2. --- gnu/packages/emacs-xyz.scm | 47 +++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 0bf744e1cf..ae5d2b18bb 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -40,7 +40,7 @@ ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2018 Alex Branham ;;; Copyright © 2018 Thorsten Wilms -;;; Copyright © 2018, 2019, 2020 Pierre Langlois +;;; Copyright © 2018, 2019, 2020, 2021 Pierre Langlois ;;; Copyright © 2018, 2019, 2020, 2021 Brett Gilio ;;; Copyright © 2019, 2020 Dimakakos Dimos ;;; Copyright © 2019, 2020 Brian Leung @@ -7962,30 +7962,35 @@ use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled @code{yas-minor-mode} first).") (license license:gpl3+)))) +;; The 0.1.6 release is incompatible with newer ivy versions, so we instead +;; pick a more recent snapshot of the repository, see +;; https://github.com/Yevgnen/ivy-rich/pull/80. (define-public emacs-ivy-rich - (package - (name "emacs-ivy-rich") - (version "0.1.6") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Yevgnen/ivy-rich") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1ra18v6lgz3m6asm6d5b92zn1x22yiz4cwxd9b54dnvwi11121m7")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-ivy" ,emacs-ivy))) - (home-page "https://github.com/Yevgnen/ivy-rich") - (synopsis "More friendly interface for @code{ivy}") - (description - "This package extends Ivy by showing more information in the minibuffer + (let ((commit "7b9b7b20c3ead81da90232cd6707dfad3c1f1eb3") + (revision "1")) + (package + (name "emacs-ivy-rich") + (version (git-version "0.1.6" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Yevgnen/ivy-rich") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03p13z609ighdq4axls93alqfl7pclx12g4vdd7lwpcy0r0cgyf8")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-ivy" ,emacs-ivy))) + (home-page "https://github.com/Yevgnen/ivy-rich") + (synopsis "More friendly interface for @code{ivy}") + (description + "This package extends Ivy by showing more information in the minibuffer for each candidate. It adds columns showing buffer modes, file sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can show icons as well.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-avy (package From 9693868579709d6c036e7d08c042483e61d3f3df Mon Sep 17 00:00:00 2001 From: Xinglu Chen Date: Mon, 8 Mar 2021 10:41:53 +0100 Subject: [PATCH 0499/1003] gnu: Add emacs-ox-gemini. * gnu/packages/emacs-xyz.scm (emacs-ox-gemini): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index ae5d2b18bb..48c00835ca 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -23933,6 +23933,31 @@ convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working zip utility (default is @code{zip}).") (license license:gpl3+))) +(define-public emacs-ox-gemini + ;; No releases yet + (let ((commit "d88c10bcb10fc463fa5a2f6e29c8c94b75a314c0") + (revision "0")) + (package + (name "emacs-ox-gemini") + (version (git-version "2021-01-02" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~abrahms/ox-gemini") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1f8kbg5vjd1k7fak3v56b77yk612j6vmzx4xzx3m2vq3f0nyxq29")))) + (build-system emacs-build-system) + (home-page "https://sr.ht/~abrahms/ox-gemini") + (synopsis "Export Org files in Gemini format") + (description + "@code{ox-gemini} adds support for exporting Org files in Gemini +format. Many things were taken from the ASCII exporter, from which +@code{ox-gemini} derives.") + (license license:gpl3+)))) + (define-public emacs-ox-hugo (package (name "emacs-ox-hugo") From aa596975092204c04e3952e4b6eb66f19eee1318 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 13 Mar 2021 12:09:08 +0100 Subject: [PATCH 0500/1003] gnu: emacs-ox-gemini: Fix version number. * gnu/packages/emacs-xyz.scm (emacs-ox-gemini)[version]: Set version number to 0 as set in the main library. --- gnu/packages/emacs-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 48c00835ca..e559ab0e10 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -23939,7 +23939,7 @@ zip utility (default is @code{zip}).") (revision "0")) (package (name "emacs-ox-gemini") - (version (git-version "2021-01-02" revision commit)) + (version (git-version "0" revision commit)) (source (origin (method git-fetch) From 339200699fc32ec31372c828bb98a38f7b460c1a Mon Sep 17 00:00:00 2001 From: Xinglu Chen Date: Sat, 13 Mar 2021 12:13:03 +0100 Subject: [PATCH 0501/1003] gnu: Add emacs-ox-haunt. * gnu/packages/emacs-xyz.scm (emacs-ox-haunt): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e559ab0e10..cb0cfcd07f 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -23958,6 +23958,27 @@ format. Many things were taken from the ASCII exporter, from which @code{ox-gemini} derives.") (license license:gpl3+)))) +(define-public emacs-ox-haunt + (package + (name "emacs-ox-haunt") + (version "0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~jakob/ox-haunt") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rs1n228c2fmpvirc57bqgf2616ijpphkgf4w9ln5j46snmkam25")))) + (build-system emacs-build-system) + (home-page "https://git.sr.ht/~jakob/ox-haunt") + (synopsis "Export Org files to HTML appropriate for Haunt") + (description + "This library implements an HTML back-end for the Org generic exporter, +producing output appropriate for Haunt's @code{html-reader}.") + (license license:gpl3+))) + (define-public emacs-ox-hugo (package (name "emacs-ox-hugo") From e5d526d758f0887d96b12b56758dea2c027a8729 Mon Sep 17 00:00:00 2001 From: LibreMiami Date: Sat, 6 Mar 2021 02:50:53 +0000 Subject: [PATCH 0502/1003] gnu: Add python-click-default-group. * /gnu/packages/python-xyz.scm (python-click-default-group): New variable. Co-authored-by: Raghav Gururajan Co-authored-by: jgart Signed-off-by: Nicolas Goaziou --- gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 361626a128..6efd1c10e2 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -98,6 +98,7 @@ ;;; Copyright © 2020 EuAndreh ;;; Copyright © 2021 Sharlatan Hellseher ;;; Copyright © 2021 Ellis Kenyő +;;; Copyright © 2021 LibreMiami ;;; ;;; This file is part of GNU Guix. ;;; @@ -10851,6 +10852,27 @@ applications.") (home-page "https://github.com/click-contrib/click-log") (license license:expat))) +(define-public python-click-default-group + (package + (name "python-click-default-group") + (version "1.2.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "click-default-group" version)) + (sha256 + (base32 + "015r78jk8gznfw0dphpwaqcx5mhg5822b55w5xbb6i7sin70wmnr")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ; no target + (propagated-inputs + `(("python-click" ,python-click))) + (synopsis "Extends click.Group") + (description "This package extends click.Group to invoke a command without +explicit subcommand name.") + (home-page "https://github.com/click-contrib/click-default-group") + (license license:bsd-3))) + (define-public python-structlog (package (name "python-structlog") From 8dc25b4bb3724690c30802d7e3bac8d609e3c836 Mon Sep 17 00:00:00 2001 From: LibreMiami Date: Sat, 13 Mar 2021 12:22:56 +0100 Subject: [PATCH 0503/1003] gnu: Add clikan. * gnu/packages/task-management.scm (clikan): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/task-management.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm index 3edf01a9f5..6b1ae7f6f7 100644 --- a/gnu/packages/task-management.scm +++ b/gnu/packages/task-management.scm @@ -44,6 +44,35 @@ #:use-module (guix build-system meson) #:use-module (guix build-system python)) +(define-public clikan + (let ((commit "90fd60e485b46e49fcec7d029384fe1471c4443a") + (revision "0")) + (package + (name "clikan") + (version + (git-version "0.1.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kitplummer/clikan/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "113kizm05v4cvyhdlg9zami54wk9qaiizq19mx36qvq9w7pg7a3k")))) + (build-system python-build-system) + (inputs + `(("click" ,python-click) + ("click-default-group" ,python-click-default-group) + ("pyyaml" ,python-pyyaml) + ("terminaltables" ,python-terminaltables))) + (synopsis "Command-line kanban (boarding) utility") + (description + "Clikan is a super simple command-line utility for tracking tasks +following the Japanese kanban (boarding) style.") + (home-page "https://github.com/kitplummer/clikan/") + (license license:expat)))) + (define-public t-todo-manager ;; Last release is more than 10 years old. Using latest commit. (let ((changeset "89ad444c000b") From 71c97c89b09f2c0670d71c7c0f51c25e827c2f07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Reich=C3=B6r?= Date: Tue, 9 Mar 2021 22:50:18 +0100 Subject: [PATCH 0504/1003] gnu: Add xe. * gnu/packages/parallel.scm (xe): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/parallel.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index ab4450c24e..8816844368 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2018 Clément Lassieur ;;; Copyright © 2019, 2020 Ludovic Courtès ;;; Copyright © 2020 Roel Janssen +;;; Copyright © 2021 Stefan Reichör ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,6 +36,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module ((guix utils) #:select (target-64bit?)) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages autotools) @@ -105,6 +107,34 @@ or more computers. Jobs can consist of single commands or of scripts and they are executed on lists of files, hosts, users or other items.") (license license:gpl3+))) +(define-public xe + (package + (name "xe") + (version "0.11") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/leahneukirchen/xe") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04jr8f6jcijr0bsmn8ajm0aj35qh9my3xjsaq64h8lwg5bpyn29x")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:make-flags (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) + #:phases (modify-phases %standard-phases + (delete 'configure)))) + (synopsis "Execute a command for every argument") + (description + "The xe utility constructs command lines from specified arguments, +combining some of the best features of xargs(1) and apply(1). Parallel +execution is also possible.") + (home-page "https://github.com/leahneukirchen/xe") + (license license:public-domain))) + (define-public slurm (package (name "slurm") From fe533002636be8f172b154ce7e54c6ffe2a5c7c9 Mon Sep 17 00:00:00 2001 From: Xinglu Chen Date: Fri, 12 Mar 2021 22:56:09 +0100 Subject: [PATCH 0505/1003] gnu: Add emacs-elfeed-score. * gnu/packages/emacs-xyz.scm (emacs-elfeed-score): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index cb0cfcd07f..a696d27e6e 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9053,6 +9053,34 @@ duplicated a lot. Org-mode makes the book keeping of tags and feeds much easier.") (license license:gpl3+)))) +(define-public emacs-elfeed-score + (package + (name "emacs-elfeed-score") + (version "0.7.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sp1ff/elfeed-score") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07xid0a31ghknbfwj8dxzbqkg4sfayjhlqvp17p2bzlf1mj0zjyd")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-elfeed" ,emacs-elfeed))) + (home-page "https://github.com/sp1ff/elfeed-score") + (synopsis "Gnus-style scoring for Elfeed") + (description + "@Elfeed-score is an add-on for Elfeed, an RSS reader for Emacs. It +brings Gnus-style scoring to your RSS feeds. Elfeed, by default, displays +feed entries by date. This package allows you to setup rules for assigning +numeric scores to entries, and sorting entries with higher scores ahead of +those with lower, regardless of date. The idea is to prioritize content +important to you.") + (license license:gpl3+))) + (define-public emacs-el-x (package (name "emacs-el-x") From c0641c0965ed324968c9ea307c91a1a8c346f5e4 Mon Sep 17 00:00:00 2001 From: Xinglu Chen Date: Fri, 12 Mar 2021 22:40:07 +0100 Subject: [PATCH 0506/1003] gnu: Add emacs-org-msg. * gnu/packages/emacs-xyz.scm (emacs-org-msg): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index a696d27e6e..74ab3c889b 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6658,6 +6658,32 @@ useful for sending tables, fontified source code, and inline images in email.") (license license:gpl3+))) +(define-public emacs-org-msg + ;; No git tags. The commit below corresponds to the release of version 3.3. + (let ((commit "89e746c0a864031eef940758230bc7263a6f2289")) + (package + (name "emacs-org-msg") + (version "3.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jeremy-compostella/org-msg") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "15gd5zbxvdallyra9lmpb9i1r2mmwz0j0i0ra7j9imnbfiz3ln9r")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-htmlize" ,emacs-htmlize))) + (home-page "https://github.com/jeremy-compostella/org-msg") + (synopsis "Mix Org mode and Message mode to compose emails") + (description + "OrgMsg is a GNU Emacs global minor mode mixing up Org mode and your +Mail User Agent Mode (Message, mu4e, or Notmuch) to compose and reply to +emails in a Outlook HTML friendly style.") + (license license:gpl3+)))) + (define-public emacs-org-superstar (package (name "emacs-org-superstar") From 211c933077a6c61eb3a7a67df60cb01b1b5a2c3f Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 9 Mar 2021 11:12:09 -0300 Subject: [PATCH 0507/1003] gnu: Add python-pooch. * gnu/packages/python-xyz.scm (python-pooch): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 6efd1c10e2..dadf08f03d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -19276,6 +19276,31 @@ library: to minimize boilerplate code in traditional extension modules by inferring type information using compile-time introspection.") (license license:bsd-3))) +(define-public python-pooch + (package + (name "python-pooch") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pooch" version)) + (sha256 + (base32 "1618adsg9r8fsv422sv35z1i723q3a1iir5v7dv2sklh4pl4im1h")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ;requires online data + (propagated-inputs + `(("python-appdirs" ,python-appdirs) + ("python-packaging" ,python-packaging) + ("python-requests" ,python-requests))) + (home-page "https://github.com/fatiando/pooch") + (synopsis "Manage your Python library's sample data files") + (description + "Pooch manages your Python library's sample data files: it automatically +downloads and stores them in a local directory, with support for versioning +and corruption checks.") + (license license:bsd-3))) + (define-public python-fasteners (package (name "python-fasteners") From 36062f16b6bce9e5178ba4614d1c8e763a96eb64 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 9 Mar 2021 11:15:54 -0300 Subject: [PATCH 0508/1003] gnu: python-scikit-image: Update to 0.18.1. * gnu/packages/python-science.scm (python-scikit-image): Update to 0.18.1. [propagated-inputs]: Remove python-six. Signed-off-by: Nicolas Goaziou --- gnu/packages/python-science.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 391d37dcce..409745819b 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2019 Maxim Cournoyer ;;; Copyright © 2019 Giacomo Leidi ;;; Copyright © 2020 Pierre Langlois -;;; Copyright © 2020 Vinicius Monego +;;; Copyright © 2020, 2021 Vinicius Monego ;;; Copyright © 2021 Greg Hogan ;;; ;;; This file is part of GNU Guix. @@ -240,18 +240,18 @@ logic, also known as grey logic.") (define-public python-scikit-image (package (name "python-scikit-image") - (version "0.17.2") + (version "0.18.1") (source (origin (method url-fetch) (uri (pypi-uri "scikit-image" version)) (sha256 - (base32 "1cyqqbcbrg3prc36wis0sm3q5rjhd7h9bp33jwfyixzhi02lr5dx")))) + (base32 "0wgisa03smhrphcjnhq7waa5vyyd32b67hblapjbqrqqj751idpv")))) (build-system python-build-system) (arguments ;; TODO: Some tests require running X11 server. Disable them? '(#:tests? #f)) - ;; See DEPENDS.txt for the list of build and run time requiremnts + ;; See requirements/ for the list of build and run time requirements. (propagated-inputs `(("python-cloudpickle" ,python-cloudpickle) ("python-dask" ,python-dask) @@ -262,7 +262,6 @@ logic, also known as grey logic.") ("python-pillow" ,python-pillow) ("python-pywavelets" ,python-pywavelets) ("python-scipy" ,python-scipy) - ("python-six" ,python-six) ("python-tifffile" ,python-tifffile))) (native-inputs `(("python-cython" ,python-cython))) From 0455c19fa56396a460d6f707a39b6da6502b90e8 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Tue, 9 Mar 2021 12:51:14 -0300 Subject: [PATCH 0509/1003] gnu: python-scikit-image: Enable tests. * gnu/packages/python-science.scm (python-scikit-image)[arguments]: Add phases related to tests. [native-inputs]: Add python-codecov, python-flake8, python-pytest, python-pytest-cov, python-pytest-localserver, python-wheel. Signed-off-by: Nicolas Goaziou --- gnu/packages/python-science.scm | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 409745819b..79ee7c8bb2 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -36,6 +36,8 @@ #:use-module (gnu packages maths) #:use-module (gnu packages perl) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages sphinx) @@ -249,9 +251,25 @@ logic, also known as grey logic.") (base32 "0wgisa03smhrphcjnhq7waa5vyyd32b67hblapjbqrqqj751idpv")))) (build-system python-build-system) (arguments - ;; TODO: Some tests require running X11 server. Disable them? - '(#:tests? #f)) + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'change-home-dir + (lambda _ + ;; Change from /homeless-shelter to /tmp for write permission. + (setenv "HOME" "/tmp") + #t)) + (replace 'build + (lambda _ + (invoke "make"))) + (replace 'check + (lambda _ + ;; The following tests require online data. + (invoke "python" "-m" "pytest" "skimage" "--doctest-modules" "-k" + (string-append "not test_ndim" + " and not test_skin"))))))) ;; See requirements/ for the list of build and run time requirements. + ;; NOTE: scikit-image has an optional dependency on python-pooch, however + ;; propagating it would enable many more tests that require online data. (propagated-inputs `(("python-cloudpickle" ,python-cloudpickle) ("python-dask" ,python-dask) @@ -264,7 +282,13 @@ logic, also known as grey logic.") ("python-scipy" ,python-scipy) ("python-tifffile" ,python-tifffile))) (native-inputs - `(("python-cython" ,python-cython))) + `(("python-codecov" ,python-codecov) + ("python-cython" ,python-cython) + ("python-flake8" ,python-flake8) + ("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-localserver" ,python-pytest-localserver) + ("python-wheel" ,python-wheel))) (home-page "https://scikit-image.org/") (synopsis "Image processing in Python") (description From 5e753287c8e1ac2381d8d01e487e25dc28ec9c80 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 13 Mar 2021 14:17:32 +0100 Subject: [PATCH 0510/1003] gnu: cagebreak: Update to 1.6.0. * gnu/packages/wm.scm (cagebreak): Update to 1.6.0. --- gnu/packages/wm.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 9cab0cb3db..9c5938bd87 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -31,7 +31,7 @@ ;;; Copyright © 2019 Brett Gilio ;;; Copyright © 2019 Noodles! ;;; Copyright © 2019, 2020 Alexandru-Sergiu Marton -;;; Copyright © 2020 Nicolas Goaziou +;;; Copyright © 2020, 2021 Nicolas Goaziou ;;; Copyright © 2020 Brice Waegeneire ;;; Copyright © 2020 Boris A. Dekshteyn ;;; Copyright © 2020 Marcin Karpezo @@ -2346,7 +2346,7 @@ shows a notification for the user on the screen.") (define-public cagebreak (package (name "cagebreak") - (version "1.4.4") + (version "1.6.0") (source (origin (method git-fetch) (uri (git-reference @@ -2355,7 +2355,7 @@ shows a notification for the user on the screen.") (file-name (git-file-name name version)) (sha256 (base32 - "0mnxs1m7jrqdl0asx39nxfzvkp7d4jqpdchi63w2yd1igpj2frb2")))) + "02gxmypfj75amdd8lwdkkk7imw7lwmghpyk8h9asljy9aq6ymdqp")))) (build-system meson-build-system) (arguments '(#:configure-flags '("-Dxwayland=true"))) (native-inputs From 2ee7524c76e32e5277af40b4b55aa3ac4e421f19 Mon Sep 17 00:00:00 2001 From: Zhu Zihao Date: Mon, 15 Feb 2021 00:23:37 +0800 Subject: [PATCH 0511/1003] gnu: opencc: Update to 1.1.1. * gnu/packages/textutils.scm(opencc): Update to 1.1.1 [arguments]<#:out-of-source?>: Build in source tree. <#:parallel-build?>: Disable. <#:phases>: In "patch-3rd-party-references", fix the version of dependency. Add phases "patch-python-binding-installation", "install-python-binding" and "enable-bytecode-determinism". [native-inputs]: Add python-setuptools and python-wheel. Signed-off-by: Nicolas Goaziou --- gnu/packages/textutils.scm | 62 ++++++++++++++++++++++++++++++++------ 1 file changed, 53 insertions(+), 9 deletions(-) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 34da04d0d8..c2eb7ca1da 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -60,6 +60,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-build) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) #:use-module (gnu packages slang) @@ -1051,36 +1052,79 @@ OpenDocument presentations (*.odp).") (define-public opencc (package (name "opencc") - (version "1.0.5") + (version "1.1.1") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/BYVoid/OpenCC") - (commit (string-append "ver." version)))) + (url "https://github.com/BYVoid/OpenCC") + (commit (string-append "ver." version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1pv5md225qwhbn8ql932zdg6gh1qlx3paiajaks8gfsa07yzvhr4")) + "07y0pvxjlmpcnym229j87qcfwnfm7vi10dad0a20xy6as55a9j3d")) (modules '((guix build utils))) (snippet '(begin ;; TODO: Unbundle tclap, darts-clone, gtest - (delete-file-recursively "deps/rapidjson-0.11") #t)))) + (delete-file-recursively "deps/rapidjson-1.1.0") #t)))) (build-system cmake-build-system) (arguments - '(#:phases + ;; Required to locate the install script properly. + `(#:out-of-source? #f + #:parallel-build? #f ;occasionally failed. + #:imported-modules + (,@%cmake-build-system-modules + (guix build python-build-system)) + #:modules ((guix build cmake-build-system) + ((guix build python-build-system) #:prefix python:) + (guix build utils)) + #:phases (modify-phases %standard-phases + (add-after 'unpack 'prevent-rebuild-during-installation + (lambda _ + (substitute* "python/setup.py" + (("'build_py': BuildPyCommand,") "")) + #t)) (add-after 'unpack 'patch-3rd-party-references (lambda* (#:key inputs #:allow-other-keys) (let ((rapidjson (assoc-ref inputs "rapidjson"))) (substitute* "src/CMakeLists.txt" - (("../deps/rapidjson-0.11") + (("../deps/rapidjson-1.1.0") (string-append rapidjson "/include/rapidjson"))) - #t)))))) + #t))) + (add-before 'configure 'patch-python-binding-installation + (lambda* (#:key outputs inputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "python/opencc/__init__.py" + (("(_libopenccfile =).*$" _ prefix) + (format #f "~a os.path.join('~a/lib', _libopenccfilename)~%" + prefix out)) + (("(_opencc_share_dir =).*$" _ prefix) + (format #f "~a '~a/share/opencc'~%" prefix out)))) + #t)) + (add-after 'install 'install-python-binding + (lambda* (#:key outputs inputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (dist (string-append + out "/lib/python" + ,(version-major+minor (package-version python)) + "/site-packages"))) + (chdir "python") + (mkdir-p dist) + (setenv "PYTHONPATH" + (string-append dist ":" (getenv "PYTHONPATH"))) + (invoke "python" "setup.py" "install" + "--root=/" "--single-version-externally-managed" + (string-append "--prefix=" out)) + #t))) + (add-before 'install-python-binding 'enable-bytecode-determinism + (assoc-ref python:%standard-phases 'enable-bytecode-determinism))))) (native-inputs `(("python" ,python-wrapper) - ("rapidjson" ,rapidjson))) + ("rapidjson" ,rapidjson) + ("python-setuptools" ,python-setuptools) + ("python-wheel" ,python-wheel))) (home-page "https://github.com/BYVoid/OpenCC") (synopsis "Convert between Traditional Chinese and Simplified Chinese") (description "Open Chinese Convert (OpenCC) converts between Traditional From de84dfbed56a7015337e2cdf64092d476a0635c7 Mon Sep 17 00:00:00 2001 From: Milkey Mouse Date: Sat, 20 Feb 2021 22:34:42 -0800 Subject: [PATCH 0512/1003] gnu: opencl-headers: Update to 2020.12.18 * gnu/packages/opencl.scm (opencl-headers): Update to 2020.12.18. [version]: Use the latest tagged version, now that they exist. [arguments]: Replace all phases with trivial header copy. [license]: Change license to Apache 2.0 (happened in March 2020). Signed-off-by: Nicolas Goaziou --- gnu/packages/opencl.scm | 68 ++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 39 deletions(-) diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm index ddc30ef037..e95d19db47 100644 --- a/gnu/packages/opencl.scm +++ b/gnu/packages/opencl.scm @@ -20,6 +20,7 @@ (define-module (gnu packages opencl) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix git-download) @@ -47,44 +48,35 @@ ;; tests that require such devices are all disabled. ;; Check https://lists.gnu.org/archive/html/guix-devel/2018-04/msg00293.html +(define-public opencl-headers + (package + (name "opencl-headers") + (version "2020.12.18") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KhronosGroup/OpenCL-Headers") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zslxfzvbb1mrzmsik4pjzj88ds8y3p94ry5nnrnkhv6qm4n4lw9")))) + (build-system copy-build-system) + (arguments + '(#:install-plan + '(("CL" "include/")))) ; TODO: add phase for tests + (synopsis "The Khronos OpenCL headers") + (description + "This package provides the C headers by Khronos for OpenCL programming.") + (home-page "https://www.khronos.org/registry/OpenCL/") + (license license:asl2.0))) + (define (make-opencl-headers major-version subversion) - (let ((commit "e986688daf750633898dfd3994e14a9e618f2aa5") - (revision "0")) - (package - (name "opencl-headers") - (version (git-version - (string-append major-version "." subversion ".0") - revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/KhronosGroup/OpenCL-Headers") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "176ydpbyws5nr4av6hf8p41pkhc0rc4m4vrah9w6gp2fw2i32838")))) - (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (delete 'check) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (copy-recursively (string-append "./opencl" (string-append - ,major-version - ,subversion) "/CL") - (string-append - (assoc-ref outputs "out") - "/include/CL"))))))) - (synopsis "The Khronos OpenCL headers") - (description - "This package provides the C headers by Khronos for OpenCL -programming.") - (home-page "https://www.khronos.org/registry/OpenCL/") - (license license:expat)))) + ;; The upstream OpenCL-Headers repository is no longer separating headers by + ;; version; instead, you are supposed to #define CL_TARGET_OPENCL_VERSION. + (deprecated-package (string-append "opencl-headers-" + major-version "." + subversion) opencl-headers)) (define-public opencl-headers-2.2 (make-opencl-headers "2" "2")) @@ -99,8 +91,6 @@ programming.") (define-public opencl-headers-1.0 (make-opencl-headers "1" "0")) -(define-public opencl-headers opencl-headers-2.2) - (define-public opencl-clhpp (package (name "opencl-clhpp") From 80a4b150fc6b8d8a387744f1957979c95240f79d Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Sat, 13 Mar 2021 14:43:49 +0100 Subject: [PATCH 0513/1003] gnu: terminator: Update to 2.1.0. * gnu/packages/gnome.scm (terminator): Update to 2.1.0. [inputs]: Add python, python-dbus, python-notify2. [arguments]: Add a phase to handle Python DBus. Disable tests. Signed-off-by: Nicolas Goaziou --- gnu/packages/gnome.scm | 63 +++++++++++++++++++++++++----------------- 1 file changed, 38 insertions(+), 25 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index d2881dbec6..b795cae145 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -10839,19 +10839,20 @@ advanced image management tool") (define-public terminator (package (name "terminator") - (version "1.92") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/gnome-" name "/" name "/" - "releases/download/v" version "/" - name "-" version ".tar.gz")) - (sha256 - (base32 - "1wbkfp0nk6x9bcwi681zy30qmrp4h754sdz6b7hi9j22mmvdd50z")))) + (version "2.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/gnome-terminator/terminator/" + "releases/download/v" version "/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "1vap4li2i24l1iz2q4b8wvhj8flamarf18xcmzq5ik2vzcrisbjy")))) (build-system python-build-system) (native-inputs `(("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") ; for glib-compile-resources + ("glib:bin" ,glib "bin") ; for glib-compile-resources ("gobject-introspection" ,gobject-introspection) ("intltool" ,intltool) ("pkg-config" ,pkg-config) @@ -10863,33 +10864,45 @@ advanced image management tool") ("dbus-glib" ,dbus-glib) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gtk+" ,gtk+) + ("python" ,python-wrapper) + ("python-dbus" ,python-dbus) + ("python-notify2" ,python-notify2) ("python-pycairo" ,python-pycairo) ("python-pygobject" ,python-pygobject) ("vte" ,vte))) (propagated-inputs `(("python-configobj" ,python-configobj))) (arguments - `(#:imported-modules ((guix build glib-or-gtk-build-system) + ;; One test out of 28 fails due to dbus-python and python-notify; skip + ;; tests. + `(#:tests? #f + #:imported-modules ((guix build glib-or-gtk-build-system) ,@%python-build-system-modules) #:modules ((guix build python-build-system) ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) (guix build utils)) #:phases (modify-phases %standard-phases - (add-after - 'install 'wrap-program - (lambda* (#:key outputs #:allow-other-keys) - (let ((prog (string-append (assoc-ref outputs "out") - "/bin/terminator")) - (pylib (string-append (assoc-ref outputs "out") - "/lib/python" - ,(version-major+minor - (package-version python)) - "/site-packages"))) - (wrap-program prog - `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) - `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) - #t))) + (add-after 'unpack 'handle-dbus-python + (lambda _ + ;; python-dbus cannot be found but it's really there. See + ;; https://github.com/SpotlightKid/jack-select/issues/2 + (substitute* "setup.py" + (("'dbus-python',") "")) + #t)) + (add-after 'install 'wrap-program + (lambda* (#:key outputs #:allow-other-keys) + (let ((prog (string-append (assoc-ref outputs "out") + "/bin/terminator")) + (pylib (string-append (assoc-ref outputs "out") + "/lib/python" + ,(version-major+minor + (package-version python)) + "/site-packages"))) + (wrap-program prog + `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) + #t))) (add-after 'wrap-program 'glib-or-gtk-wrap (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) (home-page "https://gnome-terminator.org/") From e06b1ebcaa19dc80016d7ebff05d590a829dd930 Mon Sep 17 00:00:00 2001 From: Xinglu Chen Date: Sat, 13 Mar 2021 14:52:37 +0100 Subject: [PATCH 0514/1003] gnu: Add l2md. * gnu/packages/mail.scm (l2md): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/mail.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index f81674a5a2..b02f547e03 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -58,6 +58,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages mail) + #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages aspell) @@ -3924,6 +3925,45 @@ It is a replacement for the @command{urlview} program.") related tools to process winmail.dat files.") (license license:gpl2+))) +(define-public l2md + ;; No official release. + (let ((commit "f7286b49bb5fce25c898c143712fe34ad4d7864e") + (revision "1")) + (package + (name "l2md") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.kernel.org/pub/scm/linux/kernel/git/dborkman/l2md.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hxz8i70v1xgv30zjclfvmjqszn073c7i8nwmswi2lr6vd7cklvp")))) + (build-system gnu-build-system) + (inputs + `(("libgit2" ,libgit2))) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) ;no configure scripts + (delete 'check) ;no tests + (add-before 'install 'mkdir + (lambda* (#:key outputs #:allow-other-keys) + (let ((l2md (string-append (assoc-ref outputs "out") "/bin"))) + (mkdir-p l2md))))) + #:make-flags + (list ,(string-append "CC=" (cc-for-target)) + (string-append "PREFIX=" %output "/bin")))) + (home-page + "https://git.kernel.org/pub/scm/linux/kernel/git/dborkman/l2md.git") + (synopsis "Import public-inbox archives via Git") + (description + "The @command{l2md} command line tool imports public-inbox archives via +Git and exports them in maildir format or to an MDA through a pipe.") + (license license:gpl2)))) + (define-public public-inbox (package (name "public-inbox") From aa0598974b9c454dcce0a7a4aba1a0198bce8b93 Mon Sep 17 00:00:00 2001 From: Xinglu Chen Date: Fri, 5 Mar 2021 23:04:19 +0100 Subject: [PATCH 0515/1003] gnu: Add guile-f-scm. * gnu/packages/guile-xyz.scm (guile-f-scm): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/guile-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 115c3d82f5..4799711c66 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -34,6 +34,7 @@ ;;; Copyright © 2020 Leo Prikler ;;; Copyright © 2020, 2021 pukkamustard ;;; Copyright © 2021 Bonface Munyoki Kilyungi +;;; Copyright © 2021 Xinglu Chen ;;; ;;; This file is part of GNU Guix. ;;; @@ -237,6 +238,30 @@ more.") (home-page "https://www.gnu.org/software/artanis/") (license (list license:gpl3+ license:lgpl3+)))) ;dual license +(define-public guile-f-scm + (package + (name "guile-f-scm") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~brown121407/f.scm") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14wyrs3m1649l3km4pl2175dmap1372j5h8nkhykrbxg5xqp6ivd")))) + (build-system guile-build-system) + (native-inputs + `(("guile" ,guile-3.0))) + (home-page "https://git.sr.ht/~brown121407/f.scm") + (synopsis "Library for working with files and directories") + (description + "f.scm is a library intended to facilitate working with files and +directories (the file system in general). It was initially inspired by the +f library for Emacs.") + (license license:gpl3+))) + ;; There has not been any release yet. (define-public guildhall (let ((commit "2fe2cc539f4b811bbcd69e58738db03eb5a2b778") From cb70485201ba7c25315b7d75243abef809fc9e5d Mon Sep 17 00:00:00 2001 From: Gerd Heber Date: Sun, 21 Feb 2021 16:42:10 -0600 Subject: [PATCH 0516/1003] gnu: Add syscall-intercept. * gnu/packages/engineering.scm (syscall-intercept): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/engineering.scm | 37 ++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 9a10c21fc0..9358b2fd49 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2020, 2021 Vinicius Monego ;;; Copyright © 2020, 2021 Morgan Smith ;;; Copyright © 2021 qblade +;;; Copyright © 2021 Gerd Heber ;;; ;;; This file is part of GNU Guix. ;;; @@ -3044,3 +3045,39 @@ and drilling of PCBs. It takes Gerber files as input and outputs G-code files for the milling of PCBs. It also includes an autoleveller for the automatic dynamic calibration of the milling depth.") (license license:gpl3+))) + +(define-public syscall-intercept + ;; Upstream provides no tag. Also, last version update is 4 years old. + (let ((commit "304404581c57d43478438d175099d20260bae74e") + (revision "0")) + (package + (name "syscall-intercept") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/pmem/syscall_intercept/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17sw78xp5wjzv25adpbq3khl8fi0avj7bgpi57q3jnvl3c68xy5z")))) + (native-inputs + `(("perl" ,perl) + ("pkg-config" ,pkg-config))) + (inputs + `(("capstone" ,capstone))) + (build-system cmake-build-system) + (arguments + `(#:build-type "Release" + ;; FIXME: "syscall_format_logging" test fails. + #:tests? #f)) + (home-page "https://github.com/pmem/syscall_intercept") + (synopsis "System call intercepting library") + (description + "The system call intercepting library provides a low-level interface +for hooking Linux system calls in user space. This is achieved by +hot-patching the machine code of the standard C library in the memory of +a process.") + (license license:bsd-2)))) From 8698829587879d541bd115f0440084476b76df31 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 13 Mar 2021 12:07:33 +0100 Subject: [PATCH 0517/1003] gnu: qjackctl: Update to 0.9.1. * gnu/packages/audio.scm (qjackctl): Update to 0.9.1. --- gnu/packages/audio.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 2440fed1fd..67a3e57dd9 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2678,14 +2678,14 @@ different audio devices such as ALSA or PulseAudio.") (define-public qjackctl (package (name "qjackctl") - (version "0.9.0") + (version "0.9.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/qjackctl/qjackctl/" version "/qjackctl-" version ".tar.gz")) (sha256 (base32 - "1gaabf2ncd5xd846fjm3k5d0kzphlyc33k9pralc2j3r3g0cb5ji")))) + "0m72kglwwvn91dxnka4lx765p3r0bcpqw251svymxr2wxjc4rgjg")))) (build-system gnu-build-system) (arguments '(#:tests? #f)) ; no check target From ca8c2d1750653931ec093775f5759cdd04aded19 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 13 Mar 2021 12:13:50 +0100 Subject: [PATCH 0518/1003] gnu: console-setup: Update to 1.201. * gnu/packages/xorg.scm (console-setup): Update to 1.201. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 3f16f2c8b1..28ee64b96a 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -6631,7 +6631,7 @@ output.") (define-public console-setup (package (name "console-setup") - (version "1.197") + (version "1.201") (source (origin (method git-fetch) @@ -6639,7 +6639,7 @@ output.") (url "https://salsa.debian.org/installer-team/console-setup.git") (commit version))) (sha256 - (base32 "0m2q30f94vd1wb2zqpiyplpgfchjlm8j41xiyxcqdjzdgqbs7l27")) + (base32 "0xkynb8d1813wph3p0sdvbpimx7zqkzh4c3mmqymp3pibcg7af5a")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments From 5cbfddcb59baccf6a3aebd835a01126cca2f1ea5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 13 Mar 2021 16:03:08 +0100 Subject: [PATCH 0519/1003] tests: Remove obsolete comment. This follows up on commit c05ceaf2b650d090cf39a048193505cb4e6bd257. * tests/lint.scm: Remove comment. Reported by morgansmith in #guix. --- tests/lint.scm | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/lint.scm b/tests/lint.scm index b92053fd5f..bd8604f589 100644 --- a/tests/lint.scm +++ b/tests/lint.scm @@ -61,8 +61,6 @@ ;; Test the linter. -;; Avoid collisions with other tests. - (define %null-sha256 ;; SHA256 of the empty string. (base32 From 15b39826ffef7adae2adff459264bfdc5362f320 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 13 Mar 2021 17:06:33 +0100 Subject: [PATCH 0520/1003] gnu: quagga: Use archived source tarball. * gnu/packages/networking.scm (quagga)[source]: Download from Fossies archive. --- gnu/packages/networking.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index f3f48321a9..e95e4870e9 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -2595,8 +2595,9 @@ does not use SSH and requires a pre-shared symmetric key.") (version "1.2.4") (source (origin (method url-fetch) - (uri (string-append "mirror://savannah/quagga/quagga-" - version ".tar.gz")) + ;; Use archived sources; see . + (uri (string-append "https://fossies.org/linux/misc/" + "quagga-" version ".tar.gz")) (sha256 (base32 "1lsksqxij5f1llqn86pkygrf5672kvrqn1kvxghi169hqf1c0r73")) From faf271e96e0a9c129790d141858e1b7ab1cadff4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 13 Mar 2021 22:16:21 +0100 Subject: [PATCH 0521/1003] gnu: sudo: Update to 1.9.6. * gnu/packages/admin.scm (sudo): Update to 1.9.6. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 8b3568e48e..e938d1bdac 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1495,7 +1495,7 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.9.5p2") + (version "1.9.6") (source (origin (method url-fetch) (uri @@ -1505,7 +1505,7 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "0y093z4f3822rc88g9asdch12nljdamp817vjxk04mca7ks2x7jk")) + "0m9szw1fxj319z7d2j9nm04cbwk0flczwp1v4zb7sbndj825ijb2")) (modules '((guix build utils))) (snippet '(begin From 2569bd994bab4f057ac5aa6755fdee76b1c816de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Mar 2021 11:56:52 +0100 Subject: [PATCH 0522/1003] inferior: Add printer. This avoids printing the whole package table in backtraces and such. * guix/inferior.scm (write-inferior): New procedure. : Call 'set-record-type-printer!'. --- guix/inferior.scm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/guix/inferior.scm b/guix/inferior.scm index f977f8386e..eb457f81f9 100644 --- a/guix/inferior.scm +++ b/guix/inferior.scm @@ -120,6 +120,15 @@ (packages inferior-package-promise) ;promise of inferior packages (table inferior-package-table)) ;promise of vhash +(define (write-inferior inferior port) + (match inferior + (($ pid _ _ version) + (format port "#" + pid version + (number->string (object-address inferior) 16))))) + +(set-record-type-printer! write-inferior) + (define* (inferior-pipe directory command error-port) "Return an input/output pipe on the Guix instance in DIRECTORY. This runs 'DIRECTORY/COMMAND repl' if it exists, or falls back to some other method if From 8ff958f59df7a1fb1f98b66f4a6329d1c63f2ea8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Mar 2021 12:41:43 +0100 Subject: [PATCH 0523/1003] gnu-maintenance: Autoload (zlib). * guix/gnu-maintenance.scm: Autoload (zlib). --- guix/gnu-maintenance.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index 0da6fc19b6..9e393d18cd 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -37,7 +37,7 @@ #:use-module (guix records) #:use-module (guix upstream) #:use-module (guix packages) - #:use-module (zlib) + #:autoload (zlib) (call-with-gzip-input-port) #:export (gnu-package-name gnu-package-mundane-name gnu-package-copyright-holder From c8887a5c6e8f6a19d54ffa428c6fe88a797b867a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Mar 2021 23:22:37 +0100 Subject: [PATCH 0524/1003] gnu: emacs-elfeed-score: Fix description Texinfo syntax. * gnu/packages/emacs-xyz.scm (emacs-elfeed-score)[description]: Remove extra "@". --- gnu/packages/emacs-xyz.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 74ab3c889b..dabac3c287 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9099,7 +9099,7 @@ much easier.") (home-page "https://github.com/sp1ff/elfeed-score") (synopsis "Gnus-style scoring for Elfeed") (description - "@Elfeed-score is an add-on for Elfeed, an RSS reader for Emacs. It + "Elfeed-score is an add-on for Elfeed, an RSS reader for Emacs. It brings Gnus-style scoring to your RSS feeds. Elfeed, by default, displays feed entries by date. This package allows you to setup rules for assigning numeric scores to entries, and sorting entries with higher scores ahead of From 8154beffd8c121e953a7c4cd75c3eebfcc073a9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Mar 2021 23:59:03 +0100 Subject: [PATCH 0525/1003] gnu: guix: Update to c8887a5. * gnu/packages/package-management.scm (guix): Update to c8887a5. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index d16b0fbc67..49067850c1 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -132,8 +132,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.2.0") - (commit "f8953bea858f894b406eed4a0aca0cd4c4d8671d") - (revision 15)) + (commit "c8887a5c6e8f6a19d54ffa428c6fe88a797b867a") + (revision 16)) (package (name "guix") @@ -149,7 +149,7 @@ (commit commit))) (sha256 (base32 - "0m4mdg7fnn8vji2mk7ycaqrwwmh9gdwq3xli1fwbcn0ygj4cxlc6")) + "1fhli6h196chkd8b5j2qcyq5kj7pniw5n03jd502jm7kjzvkw18p")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments From 37b5e79154529efa9058c5d01c4f7826d532aa05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Sun, 14 Mar 2021 06:04:33 +0100 Subject: [PATCH 0526/1003] gnu: wpewebkit: Update to 2.30.5 [security fixes]. * gnu/packages/webkit.scm (wpewebkit): Update to 2.30.5. [arguments]<#:configure-flags>: Add "-DUSE_SYSTEMD=OFF" and "-DUSE_GSTREAMER_GL=OFF". Change "-DENABLE_ENCRYPTED_MEDIA=ON" to "-DENABLE_ENCRYPTED_MEDIA=OFF" (DRM). --- gnu/packages/webkit.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 9ad6682880..9ce5fe4715 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -122,7 +122,7 @@ engine that uses Wayland for graphics output.") (define-public wpewebkit (package (name "wpewebkit") - (version "2.28.3") + (version "2.30.5") (source (origin (method url-fetch) @@ -130,7 +130,7 @@ engine that uses Wayland for graphics output.") (string-append "https://wpewebkit.org/releases/" name "-" version ".tar.xz")) (sha256 - (base32 "12z9457ja1xm93kl3gpd6nvd5xn11mvm8pr0w2zhmh3k9lx2cf95")))) + (base32 "16imr0kmzhs7dz6jva9750xbsdz9v50playnagabajy30x7pymsb")))) (build-system cmake-build-system) (outputs '("out" "doc")) (arguments @@ -140,8 +140,10 @@ engine that uses Wayland for graphics output.") "-DPORT=WPE" ;; XXX: To be enabled. ;; "-DENABLE_ACCELERATED_2D_CANVAS=ON" - "-DENABLE_ENCRYPTED_MEDIA=ON" - "-DENABLE_GTKDOC=ON") + "-DUSE_SYSTEMD=OFF" + "-DENABLE_ENCRYPTED_MEDIA=OFF" + "-DENABLE_GTKDOC=ON" + "-DUSE_GSTREAMER_GL=OFF") #:phases (modify-phases %standard-phases (add-after 'unpack 'setenv From 92d0949a268fe8479af5851d5bb3733e207a5c81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Sun, 14 Mar 2021 06:07:10 +0100 Subject: [PATCH 0527/1003] gnu: webkitgtk: Enable WOFF2 support. * gnu/packages/webkit.scm (webkitgtk): [arguments]<#:configure-flags>: Remove "-DUSE_WOFF2=OFF". [inputs]: Add woff2. --- gnu/packages/webkit.scm | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 9ce5fe4715..bda05cc715 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -256,12 +256,7 @@ acceleration in mind, leveraging common 3D graphics APIs for best performance.") ;; included. More investigation is needed. For ;; now, we explicitly disable it to prevent an error ;; at configuration time. - "-DUSE_GSTREAMER_GL=OFF" - - ;; XXX Disable WOFF2 ‘web fonts’. These were never - ;; supported in our previous builds. Enabling them - ;; requires building libwoff2 and possibly woff2dec. - "-DUSE_WOFF2=OFF") + "-DUSE_GSTREAMER_GL=OFF") #:phases (modify-phases %standard-phases (add-after 'unpack 'configure-bubblewrap-store-directory @@ -338,6 +333,7 @@ acceleration in mind, leveraging common 3D graphics APIs for best performance.") ("mesa" ,mesa) ("openjpeg" ,openjpeg) ("sqlite" ,sqlite) + ("woff2" ,woff2) ("wpebackend-fdo" ,wpebackend-fdo) ("xdg-dbus-proxy" ,xdg-dbus-proxy))) (home-page "https://www.webkitgtk.org/") From 31d289a4759909d24dd309ac24d42902a8c20da0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 10 Mar 2021 08:29:53 +0100 Subject: [PATCH 0528/1003] gnu: unzip: Add patches from Fedora [security fixes]. Non-exhaustively fixes CVE-2016-9844, CVE-2018-1000035, CVE-2018-18384, and CVE-2019-13232. * gnu/packages/patches/unzip-COVSCAN-fix-unterminated-string.patch, gnu/packages/patches/unzip-CVE-2016-9844.patch, gnu/packages/patches/unzip-CVE-2018-1000035.patch, gnu/packages/patches/unzip-CVE-2018-18384.patch, gnu/packages/patches/unzip-case-insensitive.patch, gnu/packages/patches/unzip-alt-iconv-utf8-print.patch, gnu/packages/patches/unzip-alt-iconv-utf8.patch, gnu/packages/patches/unzip-close.patch, gnu/packages/patches/unzip-exec-shield.patch, gnu/packages/patches/unzip-fix-recmatch.patch, gnu/packages/patches/unzip-manpage-fix.patch, gnu/packages/patches/unzip-overflow.patch, gnu/packages/patches/unzip-symlink.patch, gnu/packages/patches/unzip-timestamp.patch, gnu/packages/patches/unzip-valgrind.patch, gnu/packages/patches/unzip-x-option.patch, gnu/packages/patches/unzip-zipbomb-manpage.patch, gnu/packages/patches/unzip-zipbomb-part1.patch, gnu/packages/patches/unzip-zipbomb-part2.patch, gnu/packages/patches/unzip-zipbomb-part3.patch: New patches. * gnu/local.mk (dist_patch_DATA): Register them. * gnu/packages/compression.scm (unzip/fixed): New variable. Apply patches. (unzip)[replacement]: Graft. --- gnu/local.mk | 20 + gnu/packages/compression.scm | 49 ++ ...nzip-COVSCAN-fix-unterminated-string.patch | 131 +++++ .../patches/unzip-CVE-2016-9844.patch | 39 ++ .../patches/unzip-CVE-2018-1000035.patch | 34 ++ .../patches/unzip-CVE-2018-18384.patch | 35 ++ .../patches/unzip-alt-iconv-utf8-print.patch | 381 ++++++++++++++ .../patches/unzip-alt-iconv-utf8.patch | 398 +++++++++++++++ .../patches/unzip-caseinsensitive.patch | 131 +++++ gnu/packages/patches/unzip-close.patch | 176 +++++++ gnu/packages/patches/unzip-exec-shield.patch | 10 + gnu/packages/patches/unzip-fix-recmatch.patch | 477 ++++++++++++++++++ gnu/packages/patches/unzip-manpage-fix.patch | 11 + gnu/packages/patches/unzip-overflow.patch | 25 + gnu/packages/patches/unzip-symlink.patch | 17 + gnu/packages/patches/unzip-timestamp.patch | 41 ++ gnu/packages/patches/unzip-valgrind.patch | 26 + gnu/packages/patches/unzip-x-option.patch | 28 + .../patches/unzip-zipbomb-manpage.patch | 25 + .../patches/unzip-zipbomb-part1.patch | 25 + .../patches/unzip-zipbomb-part2.patch | 349 +++++++++++++ .../patches/unzip-zipbomb-part3.patch | 112 ++++ 22 files changed, 2540 insertions(+) create mode 100644 gnu/packages/patches/unzip-COVSCAN-fix-unterminated-string.patch create mode 100644 gnu/packages/patches/unzip-CVE-2016-9844.patch create mode 100644 gnu/packages/patches/unzip-CVE-2018-1000035.patch create mode 100644 gnu/packages/patches/unzip-CVE-2018-18384.patch create mode 100644 gnu/packages/patches/unzip-alt-iconv-utf8-print.patch create mode 100644 gnu/packages/patches/unzip-alt-iconv-utf8.patch create mode 100644 gnu/packages/patches/unzip-caseinsensitive.patch create mode 100644 gnu/packages/patches/unzip-close.patch create mode 100644 gnu/packages/patches/unzip-exec-shield.patch create mode 100644 gnu/packages/patches/unzip-fix-recmatch.patch create mode 100644 gnu/packages/patches/unzip-manpage-fix.patch create mode 100644 gnu/packages/patches/unzip-overflow.patch create mode 100644 gnu/packages/patches/unzip-symlink.patch create mode 100644 gnu/packages/patches/unzip-timestamp.patch create mode 100644 gnu/packages/patches/unzip-valgrind.patch create mode 100644 gnu/packages/patches/unzip-x-option.patch create mode 100644 gnu/packages/patches/unzip-zipbomb-manpage.patch create mode 100644 gnu/packages/patches/unzip-zipbomb-part1.patch create mode 100644 gnu/packages/patches/unzip-zipbomb-part2.patch create mode 100644 gnu/packages/patches/unzip-zipbomb-part3.patch diff --git a/gnu/local.mk b/gnu/local.mk index 551503e053..6500f5bda2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1740,6 +1740,26 @@ dist_patch_DATA = \ %D%/packages/patches/unzip-initialize-symlink-flag.patch \ %D%/packages/patches/unzip-overflow-long-fsize.patch \ %D%/packages/patches/unzip-remove-build-date.patch \ + %D%/packages/patches/unzip-case-insensitive.patch \ + %D%/packages/patches/unzip-COVSCAN-fix-unterminated-string.patch \ + %D%/packages/patches/unzip-CVE-2016-9844.patch \ + %D%/packages/patches/unzip-CVE-2018-1000035.patch \ + %D%/packages/patches/unzip-CVE-2018-18384.patch \ + %D%/packages/patches/unzip-alt-iconv-utf8-print.patch \ + %D%/packages/patches/unzip-alt-iconv-utf8.patch \ + %D%/packages/patches/unzip-close.patch \ + %D%/packages/patches/unzip-exec-shield.patch \ + %D%/packages/patches/unzip-fix-recmatch.patch \ + %D%/packages/patches/unzip-manpage-fix.patch \ + %D%/packages/patches/unzip-overflow.patch \ + %D%/packages/patches/unzip-symlink.patch \ + %D%/packages/patches/unzip-timestamp.patch \ + %D%/packages/patches/unzip-valgrind.patch \ + %D%/packages/patches/unzip-x-option.patch \ + %D%/packages/patches/unzip-zipbomb-manpage.patch \ + %D%/packages/patches/unzip-zipbomb-part1.patch \ + %D%/packages/patches/unzip-zipbomb-part2.patch \ + %D%/packages/patches/unzip-zipbomb-part3.patch \ %D%/packages/patches/ustr-fix-build-with-gcc-5.patch \ %D%/packages/patches/util-linux-tests.patch \ %D%/packages/patches/upower-builddir.patch \ diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 99569f68c9..7a4f70f2b4 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1594,6 +1594,7 @@ Compression ratios of 2:1 to 3:1 are common for text files.") "unzip-overflow-on-invalid-input.patch" "unzip-format-secure.patch" "unzip-overflow-long-fsize.patch")))) + (replacement unzip/fixed) (build-system gnu-build-system) ;; no inputs; bzip2 is not supported, since not compiled with BZ_NO_STDIO (arguments @@ -1629,6 +1630,54 @@ recreates the stored directory structure by default.") (license (license:non-copyleft "file://LICENSE" "See LICENSE in the distribution.")))) +(define-public unzip/fixed + (package + (inherit unzip) + (version "6.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/infozip" + "/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz")) + (sha256 + (base32 + "0dxx11knh3nk95p2gg2ak777dd11pr7jx5das2g49l262scrcv83")) + (patches (search-patches "unzip-CVE-2014-8139.patch" + "unzip-CVE-2014-8140.patch" + "unzip-CVE-2014-8141.patch" + "unzip-CVE-2014-9636.patch" + "unzip-CVE-2015-7696.patch" + "unzip-CVE-2015-7697.patch" + "unzip-allow-greater-hostver-values.patch" + "unzip-initialize-symlink-flag.patch" + "unzip-remove-build-date.patch" + "unzip-attribs-overflow.patch" + "unzip-overflow-on-invalid-input.patch" + "unzip-format-secure.patch" + "unzip-overflow-long-fsize.patch" + + ;; From Fedora + "unzip-alt-iconv-utf8.patch" + "unzip-alt-iconv-utf8-print.patch" + "unzip-fix-recmatch.patch" + "unzip-caseinsensitive.patch" + "unzip-close.patch" + "unzip-COVSCAN-fix-unterminated-string.patch" + "unzip-CVE-2016-9844.patch" + "unzip-CVE-2018-1000035.patch" + "unzip-CVE-2018-18384.patch" + "unzip-exec-shield.patch" + "unzip-manpage-fix.patch" + "unzip-overflow.patch" + "unzip-timestamp.patch" + "unzip-valgrind.patch" + "unzip-x-option.patch" + ;; CVE-2019-13232 + "unzip-zipbomb-manpage.patch" + "unzip-zipbomb-part1.patch" + "unzip-zipbomb-part2.patch" + "unzip-zipbomb-part3.patch")))))) + (define-public ziptime (let ((commit "2a5bc9dfbf7c6a80e5f7cb4dd05b4036741478bc") (revision "0")) diff --git a/gnu/packages/patches/unzip-COVSCAN-fix-unterminated-string.patch b/gnu/packages/patches/unzip-COVSCAN-fix-unterminated-string.patch new file mode 100644 index 0000000000..717377119b --- /dev/null +++ b/gnu/packages/patches/unzip-COVSCAN-fix-unterminated-string.patch @@ -0,0 +1,131 @@ +From 06d1b08aef94984256cad3c5a54cedb10295681f Mon Sep 17 00:00:00 2001 +From: Jakub Martisko +Date: Thu, 8 Nov 2018 09:31:18 +0100 +Subject: [PATCH] Possible unterminated string fix + +--- + unix/unix.c | 4 +++- + unix/unxcfg.h | 2 +- + unzip.c | 12 ++++++++---- + zipinfo.c | 12 ++++++++---- + 4 files changed, 20 insertions(+), 10 deletions(-) + +diff --git a/unix/unix.c b/unix/unix.c +index 59b622d..cd57f80 100644 +--- a/unix/unix.c ++++ b/unix/unix.c +@@ -1945,7 +1945,9 @@ void init_conversion_charsets() + for(i = 0; i < sizeof(dos_charset_map)/sizeof(CHARSET_MAP); i++) + if(!strcasecmp(local_charset, dos_charset_map[i].local_charset)) { + strncpy(OEM_CP, dos_charset_map[i].archive_charset, +- sizeof(OEM_CP)); ++ MAX_CP_NAME - 1); ++ ++ OEM_CP[MAX_CP_NAME - 1] = '\0'; + break; + } + } +diff --git a/unix/unxcfg.h b/unix/unxcfg.h +index 8729de2..9ee8cfe 100644 +--- a/unix/unxcfg.h ++++ b/unix/unxcfg.h +@@ -228,7 +228,7 @@ typedef struct stat z_stat; + /* and notfirstcall are used by do_wild(). */ + + +-#define MAX_CP_NAME 25 ++#define MAX_CP_NAME 25 + 1 + + #ifdef SETLOCALE + # undef SETLOCALE +diff --git a/unzip.c b/unzip.c +index 2d94a38..a485f2b 100644 +--- a/unzip.c ++++ b/unzip.c +@@ -1561,7 +1561,8 @@ int uz_opts(__G__ pargc, pargv) + "error: a valid character encoding should follow the -I argument")); + return(PK_PARAM); + } +- strncpy(ISO_CP, s, sizeof(ISO_CP)); ++ strncpy(ISO_CP, s, MAX_CP_NAME - 1); ++ ISO_CP[MAX_CP_NAME - 1] = '\0'; + } else { /* -I charset */ + ++argv; + if(!(--argc > 0 && *argv != NULL && **argv != '-')) { +@@ -1570,7 +1571,8 @@ int uz_opts(__G__ pargc, pargv) + return(PK_PARAM); + } + s = *argv; +- strncpy(ISO_CP, s, sizeof(ISO_CP)); ++ strncpy(ISO_CP, s, MAX_CP_NAME - 1); ++ ISO_CP[MAX_CP_NAME - 1] = '\0'; + } + while(*(++s)); /* No params straight after charset name */ + } +@@ -1665,7 +1667,8 @@ int uz_opts(__G__ pargc, pargv) + "error: a valid character encoding should follow the -I argument")); + return(PK_PARAM); + } +- strncpy(OEM_CP, s, sizeof(OEM_CP)); ++ strncpy(OEM_CP, s, MAX_CP_NAME - 1); ++ OEM_CP[MAX_CP_NAME - 1] = '\0'; + } else { /* -O charset */ + ++argv; + if(!(--argc > 0 && *argv != NULL && **argv != '-')) { +@@ -1674,7 +1677,8 @@ int uz_opts(__G__ pargc, pargv) + return(PK_PARAM); + } + s = *argv; +- strncpy(OEM_CP, s, sizeof(OEM_CP)); ++ strncpy(OEM_CP, s, MAX_CP_NAME - 1); ++ OEM_CP[MAX_CP_NAME - 1] = '\0'; + } + while(*(++s)); /* No params straight after charset name */ + } +diff --git a/zipinfo.c b/zipinfo.c +index accca2a..cb7e08d 100644 +--- a/zipinfo.c ++++ b/zipinfo.c +@@ -519,7 +519,8 @@ int zi_opts(__G__ pargc, pargv) + "error: a valid character encoding should follow the -I argument")); + return(PK_PARAM); + } +- strncpy(ISO_CP, s, sizeof(ISO_CP)); ++ strncpy(ISO_CP, s, MAX_CP_NAME - 1); ++ ISO_CP[MAX_CP_NAME - 1] = '\0'; + } else { /* -I charset */ + ++argv; + if(!(--argc > 0 && *argv != NULL && **argv != '-')) { +@@ -528,7 +529,8 @@ int zi_opts(__G__ pargc, pargv) + return(PK_PARAM); + } + s = *argv; +- strncpy(ISO_CP, s, sizeof(ISO_CP)); ++ strncpy(ISO_CP, s, MAX_CP_NAME - 1); ++ ISO_CP[MAX_CP_NAME - 1] = '\0'; + } + while(*(++s)); /* No params straight after charset name */ + } +@@ -568,7 +570,8 @@ int zi_opts(__G__ pargc, pargv) + "error: a valid character encoding should follow the -I argument")); + return(PK_PARAM); + } +- strncpy(OEM_CP, s, sizeof(OEM_CP)); ++ strncpy(OEM_CP, s, MAX_CP_NAME - 1); ++ OEM_CP[MAX_CP_NAME - 1] = '\0'; + } else { /* -O charset */ + ++argv; + if(!(--argc > 0 && *argv != NULL && **argv != '-')) { +@@ -577,7 +580,8 @@ int zi_opts(__G__ pargc, pargv) + return(PK_PARAM); + } + s = *argv; +- strncpy(OEM_CP, s, sizeof(OEM_CP)); ++ strncpy(OEM_CP, s, MAX_CP_NAME - 1); ++ OEM_CP[MAX_CP_NAME - 1] = '\0'; + } + while(*(++s)); /* No params straight after charset name */ + } +-- +2.14.5 + diff --git a/gnu/packages/patches/unzip-CVE-2016-9844.patch b/gnu/packages/patches/unzip-CVE-2016-9844.patch new file mode 100644 index 0000000000..0e4a173397 --- /dev/null +++ b/gnu/packages/patches/unzip-CVE-2016-9844.patch @@ -0,0 +1,39 @@ +From 754137e70cf58a64ad524b704a86b651ba0cde07 Mon Sep 17 00:00:00 2001 +From: Petr Stodulka +Date: Wed, 14 Dec 2016 16:30:36 +0100 +Subject: [PATCH] Fix CVE-2016-9844 (rhbz#1404283) + +Fixes buffer overflow in zipinfo in similar way like fix for +CVE-2014-9913 provided by upstream. +--- + zipinfo.c | 14 +++++++++++++- + 1 file changed, 13 insertions(+), 1 deletion(-) + +diff --git a/zipinfo.c b/zipinfo.c +index c03620e..accca2a 100644 +--- a/zipinfo.c ++++ b/zipinfo.c +@@ -1984,7 +1984,19 @@ static int zi_short(__G) /* return PK-type error code */ + ush dnum=(ush)((G.crec.general_purpose_bit_flag>>1) & 3); + methbuf[3] = dtype[dnum]; + } else if (methnum >= NUM_METHODS) { /* unknown */ +- sprintf(&methbuf[1], "%03u", G.crec.compression_method); ++ /* 2016-12-05 SMS. ++ * https://launchpad.net/bugs/1643750 ++ * Unexpectedly large compression methods overflow ++ * &methbuf[]. Use the old, three-digit decimal format ++ * for values which fit. Otherwise, sacrifice the "u", ++ * and use four-digit hexadecimal. ++ */ ++ if (G.crec.compression_method <= 999) { ++ sprintf( &methbuf[ 1], "%03u", G.crec.compression_method); ++ } else { ++ sprintf( &methbuf[ 0], "%04X", G.crec.compression_method); ++ } ++ + } + + for (k = 0; k < 15; ++k) +-- +2.5.5 + diff --git a/gnu/packages/patches/unzip-CVE-2018-1000035.patch b/gnu/packages/patches/unzip-CVE-2018-1000035.patch new file mode 100644 index 0000000000..8ca713865c --- /dev/null +++ b/gnu/packages/patches/unzip-CVE-2018-1000035.patch @@ -0,0 +1,34 @@ +--- a/fileio.c 2014-12-05 05:06:05 -0600 ++++ b/fileio.c 2017-11-14 01:06:28 -0600 +@@ -1,5 +1,5 @@ + /* +- Copyright (c) 1990-2009 Info-ZIP. All rights reserved. ++ Copyright (c) 1990-2017 Info-ZIP. All rights reserved. + + See the accompanying file LICENSE, version 2009-Jan-02 or later + (the contents of which are also included in unzip.h) for terms of use. +@@ -1582,6 +1582,8 @@ + int r = IZ_PW_ENTERED; + char *m; + char *prompt; ++ char *ep; ++ char *zp; + + #ifndef REENTRANT + /* tell picky compilers to shut up about "unused variable" warnings */ +@@ -1590,9 +1592,12 @@ + + if (*rcnt == 0) { /* First call for current entry */ + *rcnt = 2; +- if ((prompt = (char *)malloc(2*FILNAMSIZ + 15)) != (char *)NULL) { +- sprintf(prompt, LoadFarString(PasswPrompt), +- FnFilter1(zfn), FnFilter2(efn)); ++ zp = FnFilter1( zfn); ++ ep = FnFilter2( efn); ++ prompt = (char *)malloc( /* Slightly too long (2* "%s"). */ ++ sizeof( PasswPrompt)+ strlen( zp)+ strlen( ep)); ++ if (prompt != (char *)NULL) { ++ sprintf(prompt, LoadFarString(PasswPrompt), zp, ep); + m = prompt; + } else + m = (char *)LoadFarString(PasswPrompt2); diff --git a/gnu/packages/patches/unzip-CVE-2018-18384.patch b/gnu/packages/patches/unzip-CVE-2018-18384.patch new file mode 100644 index 0000000000..54d4b8cb64 --- /dev/null +++ b/gnu/packages/patches/unzip-CVE-2018-18384.patch @@ -0,0 +1,35 @@ +--- unzip60/list.c ++++ unzip60/list.c +@@ -97,7 +97,7 @@ int list_files(__G) /* return PK-type + { + int do_this_file=FALSE, cfactor, error, error_in_archive=PK_COOL; + #ifndef WINDLL +- char sgn, cfactorstr[13]; ++ char sgn, cfactorstr[1+10+1+1]; /* %NUL */ + int longhdr=(uO.vflag>1); + #endif + int date_format; +@@ -389,9 +389,9 @@ int list_files(__G) /* return PK-type + } + #else /* !WINDLL */ + if (cfactor == 100) +- sprintf(cfactorstr, LoadFarString(CompFactor100)); ++ snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactor100)); + else +- sprintf(cfactorstr, LoadFarString(CompFactorStr), sgn, cfactor); ++ snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactorStr), sgn, cfactor); + if (longhdr) + Info(slide, 0, ((char *)slide, LoadFarString(LongHdrStats), + FmZofft(G.crec.ucsize, "8", "u"), methbuf, +@@ -471,9 +471,9 @@ int list_files(__G) /* return PK-type + + #else /* !WINDLL */ + if (cfactor == 100) +- sprintf(cfactorstr, LoadFarString(CompFactor100)); ++ snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactor100)); + else +- sprintf(cfactorstr, LoadFarString(CompFactorStr), sgn, cfactor); ++ snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactorStr), sgn, cfactor); + if (longhdr) { + Info(slide, 0, ((char *)slide, LoadFarString(LongFileTrailer), + FmZofft(tot_ucsize, "8", "u"), FmZofft(tot_csize, "8", "u"), diff --git a/gnu/packages/patches/unzip-alt-iconv-utf8-print.patch b/gnu/packages/patches/unzip-alt-iconv-utf8-print.patch new file mode 100644 index 0000000000..0b0153ba54 --- /dev/null +++ b/gnu/packages/patches/unzip-alt-iconv-utf8-print.patch @@ -0,0 +1,381 @@ +From ca0212ba19b64488b9e8459a762c11ecd6e7d0bd Mon Sep 17 00:00:00 2001 +From: Petr Stodulka +Date: Tue, 24 Nov 2015 17:56:11 +0100 +Subject: [PATCH] print correctly non-ascii filenames + +--- + extract.c | 289 ++++++++++++++++++++++++++++++++++++++++++++++++-------------- + unzpriv.h | 7 ++ + 2 files changed, 233 insertions(+), 63 deletions(-) + +diff --git a/extract.c b/extract.c +index 0ee4e93..741b7e0 100644 +--- a/extract.c ++++ b/extract.c +@@ -2648,8 +2648,21 @@ static void set_deferred_symlink(__G__ slnk_entry) + } /* end function set_deferred_symlink() */ + #endif /* SYMLINKS */ + ++/* ++ * If Unicode is supported, assume we have what we need to do this ++ * check using wide characters, avoiding MBCS issues. ++ */ + +- ++#ifndef UZ_FNFILTER_REPLACECHAR ++ /* A convenient choice for the replacement of unprintable char codes is ++ * the "single char wildcard", as this character is quite unlikely to ++ * appear in filenames by itself. The following default definition ++ * sets the replacement char to a question mark as the most common ++ * "single char wildcard"; this setting should be overridden in the ++ * appropiate system-specific configuration header when needed. ++ */ ++# define UZ_FNFILTER_REPLACECHAR '?' ++#endif + + /*************************/ + /* Function fnfilter() */ /* here instead of in list.c for SFX */ +@@ -2661,48 +2674,168 @@ char *fnfilter(raw, space, size) /* convert name to safely printable form */ + extent size; + { + #ifndef NATIVE /* ASCII: filter ANSI escape codes, etc. */ +- ZCONST uch *r=(ZCONST uch *)raw; ++ ZCONST uch *r; // =(ZCONST uch *)raw; + uch *s=space; + uch *slim=NULL; + uch *se=NULL; + int have_overflow = FALSE; + +- if (size > 0) { +- slim = space + size +-#ifdef _MBCS +- - (MB_CUR_MAX - 1) +-#endif +- - 4; ++# if defined( UNICODE_SUPPORT) && defined( _MBCS) ++/* If Unicode support is enabled, and we have multi-byte characters, ++ * then do the isprint() checks by first converting to wide characters ++ * and checking those. This avoids our having to parse multi-byte ++ * characters for ourselves. After the wide-char replacements have been ++ * made, the wide string is converted back to the local character set. ++ */ ++ wchar_t *wstring; /* wchar_t version of raw */ ++ size_t wslen; /* length of wstring */ ++ wchar_t *wostring; /* wchar_t version of output string */ ++ size_t woslen; /* length of wostring */ ++ char *newraw; /* new raw */ ++ ++ /* 2012-11-06 SMS. ++ * Changed to check the value returned by mbstowcs(), and bypass the ++ * Unicode processing if it fails. This seems to fix a problem ++ * reported in the SourceForge forum, but it's not clear that we ++ * should be doing any Unicode processing without some evidence that ++ * the name actually is Unicode. (Check bit 11 in the flags before ++ * coming here?) ++ * http://sourceforge.net/p/infozip/bugs/40/ ++ */ ++ ++ if (MB_CUR_MAX <= 1) ++ { ++ /* There's no point to converting multi-byte chars if there are ++ * no multi-byte chars. ++ */ ++ wslen = (size_t)-1; + } +- while (*r) { +- if (size > 0 && s >= slim && se == NULL) { +- se = s; ++ else ++ { ++ /* Get Unicode wide character count (for storage allocation). */ ++ wslen = mbstowcs( NULL, raw, 0); ++ } ++ ++ if (wslen != (size_t)-1) ++ { ++ /* Apparently valid Unicode. Allocate wide-char storage. */ ++ wstring = (wchar_t *)malloc((wslen + 1) * sizeof(wchar_t)); ++ if (wstring == NULL) { ++ strcpy( (char *)space, raw); ++ return (char *)space; + } +-#ifdef QDOS +- if (qlflag & 2) { +- if (*r == '/' || *r == '.') { ++ wostring = (wchar_t *)malloc(2 * (wslen + 1) * sizeof(wchar_t)); ++ if (wostring == NULL) { ++ free(wstring); ++ strcpy( (char *)space, raw); ++ return (char *)space; ++ } ++ ++ /* Convert the multi-byte Unicode to wide chars. */ ++ wslen = mbstowcs(wstring, raw, wslen + 1); ++ ++ /* Filter the wide-character string. */ ++ fnfilterw( wstring, wostring, (2 * (wslen + 1) * sizeof(wchar_t))); ++ ++ /* Convert filtered wide chars back to multi-byte. */ ++ woslen = wcstombs( NULL, wostring, 0); ++ if ((newraw = malloc(woslen + 1)) == NULL) { ++ free(wstring); ++ free(wostring); ++ strcpy( (char *)space, raw); ++ return (char *)space; ++ } ++ woslen = wcstombs( newraw, wostring, (woslen * MB_CUR_MAX) + 1); ++ ++ if (size > 0) { ++ slim = space + size - 4; ++ } ++ r = (ZCONST uch *)newraw; ++ while (*r) { ++ if (size > 0 && s >= slim && se == NULL) { ++ se = s; ++ } ++# ifdef QDOS ++ if (qlflag & 2) { ++ if (*r == '/' || *r == '.') { ++ if (se != NULL && (s > (space + (size-3)))) { ++ have_overflow = TRUE; ++ break; ++ } ++ ++r; ++ *s++ = '_'; ++ continue; ++ } ++ } else ++# endif ++ { + if (se != NULL && (s > (space + (size-3)))) { + have_overflow = TRUE; + break; + } +- ++r; +- *s++ = '_'; +- continue; ++ *s++ = *r++; + } +- } else ++ } ++ if (have_overflow) { ++ strcpy((char *)se, "..."); ++ } else { ++ *s = '\0'; ++ } ++ ++ free(wstring); ++ free(wostring); ++ free(newraw); ++ } ++ else ++# endif /* defined( UNICODE_SUPPORT) && defined( _MBCS) */ ++ { ++ /* No Unicode support, or apparently invalid Unicode. */ ++ r = (ZCONST uch *)raw; ++ ++ if (size > 0) { ++ slim = space + size ++#ifdef _MBCS ++ - (MB_CUR_MAX - 1) ++#endif ++ - 4; ++ } ++ while (*r) { ++ if (size > 0 && s >= slim && se == NULL) { ++ se = s; ++ } ++#ifdef QDOS ++ if (qlflag & 2) { ++ if (*r == '/' || *r == '.') { ++ if (se != NULL && (s > (space + (size-3)))) { ++ have_overflow = TRUE; ++ break; ++ } ++ ++r; ++ *s++ = '_'; ++ continue; ++ } ++ } else + #endif + #ifdef HAVE_WORKING_ISPRINT +-# ifndef UZ_FNFILTER_REPLACECHAR +- /* A convenient choice for the replacement of unprintable char codes is +- * the "single char wildcard", as this character is quite unlikely to +- * appear in filenames by itself. The following default definition +- * sets the replacement char to a question mark as the most common +- * "single char wildcard"; this setting should be overridden in the +- * appropiate system-specific configuration header when needed. +- */ +-# define UZ_FNFILTER_REPLACECHAR '?' +-# endif +- if (!isprint(*r)) { ++ if (!isprint(*r)) { ++ if (*r < 32) { ++ /* ASCII control codes are escaped as "^{letter}". */ ++ if (se != NULL && (s > (space + (size-4)))) { ++ have_overflow = TRUE; ++ break; ++ } ++ *s++ = '^', *s++ = (uch)(64 + *r++); ++ } else { ++ /* Other unprintable codes are replaced by the ++ * placeholder character. */ ++ if (se != NULL && (s > (space + (size-3)))) { ++ have_overflow = TRUE; ++ break; ++ } ++ *s++ = UZ_FNFILTER_REPLACECHAR; ++ INCSTR(r); ++ } ++#else /* !HAVE_WORKING_ISPRINT */ + if (*r < 32) { + /* ASCII control codes are escaped as "^{letter}". */ + if (se != NULL && (s > (space + (size-4)))) { +@@ -2710,47 +2843,30 @@ char *fnfilter(raw, space, size) /* convert name to safely printable form */ + break; + } + *s++ = '^', *s++ = (uch)(64 + *r++); ++#endif /* ?HAVE_WORKING_ISPRINT */ + } else { +- /* Other unprintable codes are replaced by the +- * placeholder character. */ ++#ifdef _MBCS ++ unsigned i = CLEN(r); ++ if (se != NULL && (s > (space + (size-i-2)))) { ++ have_overflow = TRUE; ++ break; ++ } ++ for (; i > 0; i--) ++ *s++ = *r++; ++#else + if (se != NULL && (s > (space + (size-3)))) { + have_overflow = TRUE; + break; + } +- *s++ = UZ_FNFILTER_REPLACECHAR; +- INCSTR(r); +- } +-#else /* !HAVE_WORKING_ISPRINT */ +- if (*r < 32) { +- /* ASCII control codes are escaped as "^{letter}". */ +- if (se != NULL && (s > (space + (size-4)))) { +- have_overflow = TRUE; +- break; +- } +- *s++ = '^', *s++ = (uch)(64 + *r++); +-#endif /* ?HAVE_WORKING_ISPRINT */ +- } else { +-#ifdef _MBCS +- unsigned i = CLEN(r); +- if (se != NULL && (s > (space + (size-i-2)))) { +- have_overflow = TRUE; +- break; +- } +- for (; i > 0; i--) + *s++ = *r++; +-#else +- if (se != NULL && (s > (space + (size-3)))) { +- have_overflow = TRUE; +- break; +- } +- *s++ = *r++; + #endif +- } +- } +- if (have_overflow) { +- strcpy((char *)se, "..."); +- } else { +- *s = '\0'; ++ } ++ } ++ if (have_overflow) { ++ strcpy((char *)se, "..."); ++ } else { ++ *s = '\0'; ++ } + } + + #ifdef WINDLL +@@ -2772,6 +2888,53 @@ char *fnfilter(raw, space, size) /* convert name to safely printable form */ + } /* end function fnfilter() */ + + ++#if defined( UNICODE_SUPPORT) && defined( _MBCS) ++ ++/****************************/ ++/* Function fnfilter[w]() */ /* (Here instead of in list.c for SFX.) */ ++/****************************/ ++ ++/* fnfilterw() - Convert wide name to safely printable form. */ ++ ++/* fnfilterw() - Convert wide-character name to safely printable form. */ ++ ++wchar_t *fnfilterw( src, dst, siz) ++ ZCONST wchar_t *src; /* Pointer to source char (string). */ ++ wchar_t *dst; /* Pointer to destination char (string). */ ++ extent siz; /* Not used (!). */ ++{ ++ wchar_t *dsx = dst; ++ ++ /* Filter the wide chars. */ ++ while (*src) ++ { ++ if (iswprint( *src)) ++ { ++ /* Printable code. Copy it. */ ++ *dst++ = *src; ++ } ++ else ++ { ++ /* Unprintable code. Substitute something printable for it. */ ++ if (*src < 32) ++ { ++ /* Replace ASCII control code with "^{letter}". */ ++ *dst++ = (wchar_t)'^'; ++ *dst++ = (wchar_t)(64 + *src); ++ } ++ else ++ { ++ /* Replace other unprintable code with the placeholder. */ ++ *dst++ = (wchar_t)UZ_FNFILTER_REPLACECHAR; ++ } ++ } ++ src++; ++ } ++ *dst = (wchar_t)0; /* NUL-terminate the destination string. */ ++ return dsx; ++} /* fnfilterw(). */ ++ ++#endif /* defined( UNICODE_SUPPORT) && defined( _MBCS) */ + + + #ifdef SET_DIR_ATTRIB +diff --git a/unzpriv.h b/unzpriv.h +index 22d3923..e48a652 100644 +--- a/unzpriv.h ++++ b/unzpriv.h +@@ -1212,6 +1212,7 @@ + # ifdef UNICODE_WCHAR + # if !(defined(_WIN32_WCE) || defined(POCKET_UNZIP)) + # include ++# include + # endif + # endif + # ifndef _MBCS /* no need to include twice, see below */ +@@ -2410,6 +2411,12 @@ int memflush OF((__GPRO__ ZCONST uch *rawbuf, ulg size)); + char *fnfilter OF((ZCONST char *raw, uch *space, + extent size)); + ++# if defined( UNICODE_SUPPORT) && defined( _MBCS) ++wchar_t *fnfilterw OF((ZCONST wchar_t *src, wchar_t *dst, ++ extent siz)); ++#endif ++ ++ + /*--------------------------------------------------------------------------- + Decompression functions: + ---------------------------------------------------------------------------*/ +-- +2.4.3 + diff --git a/gnu/packages/patches/unzip-alt-iconv-utf8.patch b/gnu/packages/patches/unzip-alt-iconv-utf8.patch new file mode 100644 index 0000000000..b9e37774e2 --- /dev/null +++ b/gnu/packages/patches/unzip-alt-iconv-utf8.patch @@ -0,0 +1,398 @@ +From: Giovanni Scafora +Subject: unzip files encoded with non-latin, non-unicode file names +Last-Update: 2015-02-11 + +Updated 2015-02-11 by Marc Deslauriers +to fix buffer overflow in charset_to_intern() + +Index: unzip-6.0/unix/unix.c +=================================================================== +--- unzip-6.0.orig/unix/unix.c 2015-02-11 08:46:43.675324290 -0500 ++++ unzip-6.0/unix/unix.c 2015-02-11 09:18:04.902081319 -0500 +@@ -30,6 +30,9 @@ + #define UNZIP_INTERNAL + #include "unzip.h" + ++#include ++#include ++ + #ifdef SCO_XENIX + # define SYSNDIR + #else /* SCO Unix, AIX, DNIX, TI SysV, Coherent 4.x, ... */ +@@ -1874,3 +1877,102 @@ + } + } + #endif /* QLZIP */ ++ ++ ++typedef struct { ++ char *local_charset; ++ char *archive_charset; ++} CHARSET_MAP; ++ ++/* A mapping of local <-> archive charsets used by default to convert filenames ++ * of DOS/Windows Zip archives. Currently very basic. */ ++static CHARSET_MAP dos_charset_map[] = { ++ { "ANSI_X3.4-1968", "CP850" }, ++ { "ISO-8859-1", "CP850" }, ++ { "CP1252", "CP850" }, ++ { "UTF-8", "CP866" }, ++ { "KOI8-R", "CP866" }, ++ { "KOI8-U", "CP866" }, ++ { "ISO-8859-5", "CP866" } ++}; ++ ++char OEM_CP[MAX_CP_NAME] = ""; ++char ISO_CP[MAX_CP_NAME] = ""; ++ ++/* Try to guess the default value of OEM_CP based on the current locale. ++ * ISO_CP is left alone for now. */ ++void init_conversion_charsets() ++{ ++ const char *local_charset; ++ int i; ++ ++ /* Make a guess only if OEM_CP not already set. */ ++ if(*OEM_CP == '\0') { ++ local_charset = nl_langinfo(CODESET); ++ for(i = 0; i < sizeof(dos_charset_map)/sizeof(CHARSET_MAP); i++) ++ if(!strcasecmp(local_charset, dos_charset_map[i].local_charset)) { ++ strncpy(OEM_CP, dos_charset_map[i].archive_charset, ++ sizeof(OEM_CP)); ++ break; ++ } ++ } ++} ++ ++/* Convert a string from one encoding to the current locale using iconv(). ++ * Be as non-intrusive as possible. If error is encountered during covertion ++ * just leave the string intact. */ ++static void charset_to_intern(char *string, char *from_charset) ++{ ++ iconv_t cd; ++ char *s,*d, *buf; ++ size_t slen, dlen, buflen; ++ const char *local_charset; ++ ++ if(*from_charset == '\0') ++ return; ++ ++ buf = NULL; ++ local_charset = nl_langinfo(CODESET); ++ ++ if((cd = iconv_open(local_charset, from_charset)) == (iconv_t)-1) ++ return; ++ ++ slen = strlen(string); ++ s = string; ++ ++ /* Make sure OUTBUFSIZ + 1 never ends up smaller than FILNAMSIZ ++ * as this function also gets called with G.outbuf in fileio.c ++ */ ++ buflen = FILNAMSIZ; ++ if (OUTBUFSIZ + 1 < FILNAMSIZ) ++ { ++ buflen = OUTBUFSIZ + 1; ++ } ++ ++ d = buf = malloc(buflen); ++ if(!d) ++ goto cleanup; ++ ++ bzero(buf,buflen); ++ dlen = buflen - 1; ++ ++ if(iconv(cd, &s, &slen, &d, &dlen) == (size_t)-1) ++ goto cleanup; ++ strncpy(string, buf, buflen); ++ ++ cleanup: ++ free(buf); ++ iconv_close(cd); ++} ++ ++/* Convert a string from OEM_CP to the current locale charset. */ ++inline void oem_intern(char *string) ++{ ++ charset_to_intern(string, OEM_CP); ++} ++ ++/* Convert a string from ISO_CP to the current locale charset. */ ++inline void iso_intern(char *string) ++{ ++ charset_to_intern(string, ISO_CP); ++} +Index: unzip-6.0/unix/unxcfg.h +=================================================================== +--- unzip-6.0.orig/unix/unxcfg.h 2015-02-11 08:46:43.675324290 -0500 ++++ unzip-6.0/unix/unxcfg.h 2015-02-11 08:46:43.671324260 -0500 +@@ -228,4 +228,30 @@ + /* wild_dir, dirname, wildname, matchname[], dirnamelen, have_dirname, */ + /* and notfirstcall are used by do_wild(). */ + ++ ++#define MAX_CP_NAME 25 ++ ++#ifdef SETLOCALE ++# undef SETLOCALE ++#endif ++#define SETLOCALE(category, locale) setlocale(category, locale) ++#include ++ ++#ifdef _ISO_INTERN ++# undef _ISO_INTERN ++#endif ++#define _ISO_INTERN(str1) iso_intern(str1) ++ ++#ifdef _OEM_INTERN ++# undef _OEM_INTERN ++#endif ++#ifndef IZ_OEM2ISO_ARRAY ++# define IZ_OEM2ISO_ARRAY ++#endif ++#define _OEM_INTERN(str1) oem_intern(str1) ++ ++void iso_intern(char *); ++void oem_intern(char *); ++void init_conversion_charsets(void); ++ + #endif /* !__unxcfg_h */ +Index: unzip-6.0/unzip.c +=================================================================== +--- unzip-6.0.orig/unzip.c 2015-02-11 08:46:43.675324290 -0500 ++++ unzip-6.0/unzip.c 2015-02-11 08:46:43.675324290 -0500 +@@ -327,11 +327,21 @@ + -2 just filenames but allow -h/-t/-z -l long Unix \"ls -l\" format\n\ + -v verbose, multi-page format\n"; + ++#ifndef UNIX + static ZCONST char Far ZipInfoUsageLine3[] = "miscellaneous options:\n\ + -h print header line -t print totals for listed files or for all\n\ + -z print zipfile comment -T print file times in sortable decimal format\ + \n -C be case-insensitive %s\ + -x exclude filenames that follow from listing\n"; ++#else /* UNIX */ ++static ZCONST char Far ZipInfoUsageLine3[] = "miscellaneous options:\n\ ++ -h print header line -t print totals for listed files or for all\n\ ++ -z print zipfile comment %c-T%c print file times in sortable decimal format\ ++\n %c-C%c be case-insensitive %s\ ++ -x exclude filenames that follow from listing\n\ ++ -O CHARSET specify a character encoding for DOS, Windows and OS/2 archives\n\ ++ -I CHARSET specify a character encoding for UNIX and other archives\n"; ++#endif /* !UNIX */ + #ifdef MORE + static ZCONST char Far ZipInfoUsageLine4[] = + " -M page output through built-in \"more\"\n"; +@@ -664,6 +674,17 @@ + -U use escapes for all non-ASCII Unicode -UU ignore any Unicode fields\n\ + -C match filenames case-insensitively -L make (some) names \ + lowercase\n %-42s -V retain VMS version numbers\n%s"; ++#elif (defined UNIX) ++static ZCONST char Far UnzipUsageLine4[] = "\ ++modifiers:\n\ ++ -n never overwrite existing files -q quiet mode (-qq => quieter)\n\ ++ -o overwrite files WITHOUT prompting -a auto-convert any text files\n\ ++ -j junk paths (do not make directories) -aa treat ALL files as text\n\ ++ -U use escapes for all non-ASCII Unicode -UU ignore any Unicode fields\n\ ++ -C match filenames case-insensitively -L make (some) names \ ++lowercase\n %-42s -V retain VMS version numbers\n%s\ ++ -O CHARSET specify a character encoding for DOS, Windows and OS/2 archives\n\ ++ -I CHARSET specify a character encoding for UNIX and other archives\n\n"; + #else /* !VMS */ + static ZCONST char Far UnzipUsageLine4[] = "\ + modifiers:\n\ +@@ -802,6 +823,10 @@ + #endif /* UNICODE_SUPPORT */ + + ++#ifdef UNIX ++ init_conversion_charsets(); ++#endif ++ + #if (defined(__IBMC__) && defined(__DEBUG_ALLOC__)) + extern void DebugMalloc(void); + +@@ -1335,6 +1360,11 @@ + argc = *pargc; + argv = *pargv; + ++#ifdef UNIX ++ extern char OEM_CP[MAX_CP_NAME]; ++ extern char ISO_CP[MAX_CP_NAME]; ++#endif ++ + while (++argv, (--argc > 0 && *argv != NULL && **argv == '-')) { + s = *argv + 1; + while ((c = *s++) != 0) { /* "!= 0": prevent Turbo C warning */ +@@ -1516,6 +1546,35 @@ + } + break; + #endif /* MACOS */ ++#ifdef UNIX ++ case ('I'): ++ if (negative) { ++ Info(slide, 0x401, ((char *)slide, ++ "error: encodings can't be negated")); ++ return(PK_PARAM); ++ } else { ++ if(*s) { /* Handle the -Icharset case */ ++ /* Assume that charsets can't start with a dash to spot arguments misuse */ ++ if(*s == '-') { ++ Info(slide, 0x401, ((char *)slide, ++ "error: a valid character encoding should follow the -I argument")); ++ return(PK_PARAM); ++ } ++ strncpy(ISO_CP, s, sizeof(ISO_CP)); ++ } else { /* -I charset */ ++ ++argv; ++ if(!(--argc > 0 && *argv != NULL && **argv != '-')) { ++ Info(slide, 0x401, ((char *)slide, ++ "error: a valid character encoding should follow the -I argument")); ++ return(PK_PARAM); ++ } ++ s = *argv; ++ strncpy(ISO_CP, s, sizeof(ISO_CP)); ++ } ++ while(*(++s)); /* No params straight after charset name */ ++ } ++ break; ++#endif /* ?UNIX */ + case ('j'): /* junk pathnames/directory structure */ + if (negative) + uO.jflag = FALSE, negative = 0; +@@ -1591,6 +1650,35 @@ + } else + ++uO.overwrite_all; + break; ++#ifdef UNIX ++ case ('O'): ++ if (negative) { ++ Info(slide, 0x401, ((char *)slide, ++ "error: encodings can't be negated")); ++ return(PK_PARAM); ++ } else { ++ if(*s) { /* Handle the -Ocharset case */ ++ /* Assume that charsets can't start with a dash to spot arguments misuse */ ++ if(*s == '-') { ++ Info(slide, 0x401, ((char *)slide, ++ "error: a valid character encoding should follow the -I argument")); ++ return(PK_PARAM); ++ } ++ strncpy(OEM_CP, s, sizeof(OEM_CP)); ++ } else { /* -O charset */ ++ ++argv; ++ if(!(--argc > 0 && *argv != NULL && **argv != '-')) { ++ Info(slide, 0x401, ((char *)slide, ++ "error: a valid character encoding should follow the -O argument")); ++ return(PK_PARAM); ++ } ++ s = *argv; ++ strncpy(OEM_CP, s, sizeof(OEM_CP)); ++ } ++ while(*(++s)); /* No params straight after charset name */ ++ } ++ break; ++#endif /* ?UNIX */ + case ('p'): /* pipes: extract to stdout, no messages */ + if (negative) { + uO.cflag = FALSE; +Index: unzip-6.0/unzpriv.h +=================================================================== +--- unzip-6.0.orig/unzpriv.h 2015-02-11 08:46:43.675324290 -0500 ++++ unzip-6.0/unzpriv.h 2015-02-11 08:46:43.675324290 -0500 +@@ -3008,7 +3008,7 @@ + !(((islochdr) || (isuxatt)) && \ + ((hostver) == 25 || (hostver) == 26 || (hostver) == 40))) || \ + (hostnum) == FS_HPFS_ || \ +- ((hostnum) == FS_NTFS_ && (hostver) == 50)) { \ ++ ((hostnum) == FS_NTFS_ /* && (hostver) == 50 */ )) { \ + _OEM_INTERN((string)); \ + } else { \ + _ISO_INTERN((string)); \ +Index: unzip-6.0/zipinfo.c +=================================================================== +--- unzip-6.0.orig/zipinfo.c 2015-02-11 08:46:43.675324290 -0500 ++++ unzip-6.0/zipinfo.c 2015-02-11 08:46:43.675324290 -0500 +@@ -457,6 +457,10 @@ + int tflag_slm=TRUE, tflag_2v=FALSE; + int explicit_h=FALSE, explicit_t=FALSE; + ++#ifdef UNIX ++ extern char OEM_CP[MAX_CP_NAME]; ++ extern char ISO_CP[MAX_CP_NAME]; ++#endif + + #ifdef MACOS + uO.lflag = LFLAG; /* reset default on each call */ +@@ -501,6 +505,35 @@ + uO.lflag = 0; + } + break; ++#ifdef UNIX ++ case ('I'): ++ if (negative) { ++ Info(slide, 0x401, ((char *)slide, ++ "error: encodings can't be negated")); ++ return(PK_PARAM); ++ } else { ++ if(*s) { /* Handle the -Icharset case */ ++ /* Assume that charsets can't start with a dash to spot arguments misuse */ ++ if(*s == '-') { ++ Info(slide, 0x401, ((char *)slide, ++ "error: a valid character encoding should follow the -I argument")); ++ return(PK_PARAM); ++ } ++ strncpy(ISO_CP, s, sizeof(ISO_CP)); ++ } else { /* -I charset */ ++ ++argv; ++ if(!(--argc > 0 && *argv != NULL && **argv != '-')) { ++ Info(slide, 0x401, ((char *)slide, ++ "error: a valid character encoding should follow the -I argument")); ++ return(PK_PARAM); ++ } ++ s = *argv; ++ strncpy(ISO_CP, s, sizeof(ISO_CP)); ++ } ++ while(*(++s)); /* No params straight after charset name */ ++ } ++ break; ++#endif /* ?UNIX */ + case 'l': /* longer form of "ls -l" type listing */ + if (negative) + uO.lflag = -2, negative = 0; +@@ -521,6 +554,35 @@ + G.M_flag = TRUE; + break; + #endif ++#ifdef UNIX ++ case ('O'): ++ if (negative) { ++ Info(slide, 0x401, ((char *)slide, ++ "error: encodings can't be negated")); ++ return(PK_PARAM); ++ } else { ++ if(*s) { /* Handle the -Ocharset case */ ++ /* Assume that charsets can't start with a dash to spot arguments misuse */ ++ if(*s == '-') { ++ Info(slide, 0x401, ((char *)slide, ++ "error: a valid character encoding should follow the -I argument")); ++ return(PK_PARAM); ++ } ++ strncpy(OEM_CP, s, sizeof(OEM_CP)); ++ } else { /* -O charset */ ++ ++argv; ++ if(!(--argc > 0 && *argv != NULL && **argv != '-')) { ++ Info(slide, 0x401, ((char *)slide, ++ "error: a valid character encoding should follow the -O argument")); ++ return(PK_PARAM); ++ } ++ s = *argv; ++ strncpy(OEM_CP, s, sizeof(OEM_CP)); ++ } ++ while(*(++s)); /* No params straight after charset name */ ++ } ++ break; ++#endif /* ?UNIX */ + case 's': /* default: shorter "ls -l" type listing */ + if (negative) + uO.lflag = -2, negative = 0; diff --git a/gnu/packages/patches/unzip-caseinsensitive.patch b/gnu/packages/patches/unzip-caseinsensitive.patch new file mode 100644 index 0000000000..3cb68450b9 --- /dev/null +++ b/gnu/packages/patches/unzip-caseinsensitive.patch @@ -0,0 +1,131 @@ +diff --git a/match.c b/match.c +index 6cd656f..4e569f5 100644 +--- a/match.c ++++ b/match.c +@@ -190,10 +190,10 @@ char *___tmp_ptr; + + #endif + +-static int recmatch(p, s, cs) ++static int recmatch(p, s, ci) + ZCONST char *p; /* sh pattern to match */ + ZCONST char *s; /* string to match it to */ +-int cs; /* flag: force case-sensitive matching */ ++int ci; /* flag: force case-insensitive matching */ + /* Recursively compare the sh pattern p with the string s and return 1 if + they match, and 0 or 2 if they don't or if there is a syntax error in the + pattern. This routine recurses on itself no deeper than the number of +@@ -214,7 +214,7 @@ int cs; /* flag: force case-sensitive matching */ + if (CLEN(p) == 2) { + if (CLEN(s) == 2) { + return (*p == *s && *(p+1) == *(s+1)) ? +- recmatch(p + 2, s + 2, cs) : 0; ++ recmatch(p + 2, s + 2, ci) : 0; + } else { + return 0; + } +@@ -230,9 +230,9 @@ int cs; /* flag: force case-sensitive matching */ + /* '?' (or '%' or '#') matches any character (but not an empty string) */ + if (c == WILDCHR_SINGLE) { + if (wild_stop_at_dir) +- return (*s && *s != DIRSEP_CHR) ? recmatch(p, s + CLEN(s), cs) : 0; ++ return (*s && *s != DIRSEP_CHR) ? recmatch(p, s + CLEN(s), ci) : 0; + else +- return *s ? recmatch(p, s + CLEN(s), cs) : 0; ++ return *s ? recmatch(p, s + CLEN(s), ci) : 0; + } + + /* WILDCHR_MULTI ('*') matches any number of characters, including zero */ +@@ -253,14 +253,14 @@ int cs; /* flag: force case-sensitive matching */ + # endif /* ?AMIGA */ + /* Single WILDCHR_MULTI ('*'): this doesn't match slashes */ + for (; *s && *s != DIRSEP_CHR; INCSTR(s)) +- if ((c = recmatch(p, s, cs)) != 0) ++ if ((c = recmatch(p, s, ci)) != 0) + return c; + /* end of pattern: matched if at end of string, else continue */ + if (*p == 0) + return (*s == 0); + /* continue to match if at DIRSEP_CHR in pattern, else give up */ + return (*p == DIRSEP_CHR || (*p == '\\' && p[1] == DIRSEP_CHR)) +- ? recmatch(p, s, cs) : 2; ++ ? recmatch(p, s, ci) : 2; + } + /* Two consecutive WILDCHR_MULTI ("**"): this matches DIRSEP_CHR ('/') */ + p++; /* move p past the second WILDCHR_MULTI */ +@@ -308,17 +308,17 @@ int cs; /* flag: force case-sensitive matching */ + */ + if (q != srest) + return 0; +- return ((cs ? strcmp(p, q) : namecmp(p, q)) == 0); ++ return ((!ci ? strcmp(p, q) : namecmp(p, q)) == 0); + } + #else /* !_MBCS */ +- return ((cs ? strcmp(p, srest) : namecmp(p, srest)) == 0); ++ return ((!ci ? strcmp(p, srest) : namecmp(p, srest)) == 0); + #endif /* ?_MBCS */ + } + else + { + /* pattern contains more wildcards, continue with recursion... */ + for (; *s; INCSTR(s)) +- if ((c = recmatch(p, s, cs)) != 0) ++ if ((c = recmatch(p, s, ci)) != 0) + return c; + return 2; /* 2 means give up--shmatch will return false */ + } +@@ -353,17 +353,17 @@ int cs; /* flag: force case-sensitive matching */ + c = *(p-1); + else + { +- uch cc = (cs ? (uch)*s : case_map((uch)*s)); ++ uch cc = (!ci ? (uch)*s : to_up((uch)*s)); + uch uc = (uch) c; + if (*(p+1) != '-') + for (uc = uc ? uc : (uch)*p; uc <= (uch)*p; uc++) + /* compare range */ +- if ((cs ? uc : case_map(uc)) == cc) +- return r ? 0 : recmatch(q + CLEN(q), s + CLEN(s), cs); ++ if ((!ci ? uc : to_up(uc)) == cc) ++ return r ? 0 : recmatch(q + CLEN(q), s + CLEN(s), ci); + c = e = 0; /* clear range, escape flags */ + } + } +- return r ? recmatch(q + CLEN(q), s + CLEN(s), cs) : 0; ++ return r ? recmatch(q + CLEN(q), s + CLEN(s), ci) : 0; + /* bracket match failed */ + } + #endif /* !VMS */ +@@ -382,18 +382,18 @@ int cs; /* flag: force case-sensitive matching */ + { + /* Match "...]" with "]". Continue after "]" in both. */ + if ((*(p+ 2* CLEN( p)) == ']') && (*s == ']')) +- return recmatch( (p+ 3* CLEN( p)), (s+ CLEN( s)), cs); ++ return recmatch( (p+ 3* CLEN( p)), (s+ CLEN( s)), ci); + + /* Else, look for a reduced match in s, until "]" in or end of s. */ + for (; *s && (*s != ']'); INCSTR(s)) + if (*s == '.') + /* If reduced match, then continue after "..." in p, "." in s. */ +- if ((c = recmatch( (p+ CLEN( p)), s, cs)) != 0) ++ if ((c = recmatch( (p+ CLEN( p)), s, ci)) != 0) + return (int)c; + + /* Match "...]" with "]". Continue after "]" in both. */ + if ((*(p+ 2* CLEN( p)) == ']') && (*s == ']')) +- return recmatch( (p+ 3* CLEN( p)), (s+ CLEN( s)), cs); ++ return recmatch( (p+ 3* CLEN( p)), (s+ CLEN( s)), ci); + + /* No reduced match. Quit. */ + return 2; +@@ -402,8 +402,8 @@ int cs; /* flag: force case-sensitive matching */ + #endif /* def VMS */ + + /* Just a character--compare it */ +- return (cs ? c == *s : case_map((uch)c) == case_map((uch)*s)) ? +- recmatch(p, s + CLEN(s), cs) : 0; ++ return (!ci ? c == *s : to_up((uch)c) == to_up((uch)*s)) ? ++ recmatch(p, s + CLEN(s), ci) : 0; + } + + diff --git a/gnu/packages/patches/unzip-close.patch b/gnu/packages/patches/unzip-close.patch new file mode 100644 index 0000000000..9a238a9006 --- /dev/null +++ b/gnu/packages/patches/unzip-close.patch @@ -0,0 +1,176 @@ +diff -up unzip60/extract.c.close unzip60/extract.c +--- unzip60/extract.c.close 2009-03-14 02:32:52.000000000 +0100 ++++ unzip60/extract.c 2009-11-19 08:17:23.481263496 +0100 +@@ -1924,24 +1924,21 @@ static int extract_or_test_member(__G) + + #ifdef VMS /* VMS: required even for stdout! (final flush) */ + if (!uO.tflag) /* don't close NULL file */ +- close_outfile(__G); ++ error = close_outfile(__G); + #else + #ifdef DLL + if (!uO.tflag && (!uO.cflag || G.redirect_data)) { + if (G.redirect_data) + FINISH_REDIRECT(); + else +- close_outfile(__G); ++ error = close_outfile(__G); + } + #else + if (!uO.tflag && !uO.cflag) /* don't close NULL file or stdout */ +- close_outfile(__G); ++ error = close_outfile(__G); + #endif + #endif /* VMS */ + +- /* GRR: CONVERT close_outfile() TO NON-VOID: CHECK FOR ERRORS! */ +- +- + if (G.disk_full) { /* set by flush() */ + if (G.disk_full > 1) { + #if (defined(DELETE_IF_FULL) && defined(HAVE_UNLINK)) +diff -up unzip60/unix/unix.c.close unzip60/unix/unix.c +--- unzip60/unix/unix.c.close 2009-01-24 00:31:26.000000000 +0100 ++++ unzip60/unix/unix.c 2009-11-19 08:33:25.568389171 +0100 +@@ -1096,10 +1096,41 @@ static int get_extattribs(__G__ pzt, z_u + #ifndef MTS + + /****************************/ ++/* Function CloseError() */ ++/***************************/ ++ ++int CloseError(__G) ++ __GDEF ++{ ++ int errval = PK_OK; ++ ++ if (fclose(G.outfile) < 0) { ++ switch (errno) { ++ case ENOSPC: ++ /* Do we need this on fileio.c? */ ++ Info(slide, 0x4a1, ((char *)slide, "%s: write error (disk full?). Continue? (y/n/^C) ", ++ FnFilter1(G.filename))); ++ fgets(G.answerbuf, 9, stdin); ++ if (*G.answerbuf == 'y') /* stop writing to this file */ ++ G.disk_full = 1; /* pass to next */ ++ else ++ G.disk_full = 2; /* no: exit program */ ++ ++ errval = PK_DISK; ++ break; ++ ++ default: ++ errval = PK_WARN; ++ } ++ } ++ return errval; ++} /* End of CloseError() */ ++ ++/****************************/ + /* Function close_outfile() */ + /****************************/ + +-void close_outfile(__G) /* GRR: change to return PK-style warning level */ ++int close_outfile(__G) + __GDEF + { + union { +@@ -1108,6 +1139,7 @@ void close_outfile(__G) /* GRR: chang + } zt; + ulg z_uidgid[2]; + int have_uidgid_flg; ++ int errval = PK_OK; + + have_uidgid_flg = get_extattribs(__G__ &(zt.t3), z_uidgid); + +@@ -1141,16 +1173,16 @@ void close_outfile(__G) /* GRR: chang + Info(slide, 0x201, ((char *)slide, + "warning: symbolic link (%s) failed: mem alloc overflow\n", + FnFilter1(G.filename))); +- fclose(G.outfile); +- return; ++ errval = CloseError(G.outfile, G.filename); ++ return errval ? errval : PK_WARN; + } + + if ((slnk_entry = (slinkentry *)malloc(slnk_entrysize)) == NULL) { + Info(slide, 0x201, ((char *)slide, + "warning: symbolic link (%s) failed: no mem\n", + FnFilter1(G.filename))); +- fclose(G.outfile); +- return; ++ errval = CloseError(G.outfile, G.filename); ++ return errval ? errval : PK_WARN; + } + slnk_entry->next = NULL; + slnk_entry->targetlen = ucsize; +@@ -1174,10 +1206,10 @@ void close_outfile(__G) /* GRR: chang + "warning: symbolic link (%s) failed\n", + FnFilter1(G.filename))); + free(slnk_entry); +- fclose(G.outfile); +- return; ++ errval = CloseError(G.outfile, G.filename); ++ return errval ? errval : PK_WARN; + } +- fclose(G.outfile); /* close "link" file for good... */ ++ errval = CloseError(G.outfile, G.filename); /* close "link" file for good... */ + slnk_entry->target[ucsize] = '\0'; + if (QCOND2) + Info(slide, 0, ((char *)slide, "-> %s ", +@@ -1188,7 +1220,7 @@ void close_outfile(__G) /* GRR: chang + else + G.slink_head = slnk_entry; + G.slink_last = slnk_entry; +- return; ++ return errval; + } + #endif /* SYMLINKS */ + +@@ -1201,7 +1233,7 @@ void close_outfile(__G) /* GRR: chang + #endif + + #if (defined(NO_FCHOWN)) +- fclose(G.outfile); ++ errval = CloseError(G.outfile, G.filename); + #endif + + /* if -X option was specified and we have UID/GID info, restore it */ +@@ -1227,7 +1259,7 @@ void close_outfile(__G) /* GRR: chang + } + + #if (!defined(NO_FCHOWN) && defined(NO_FCHMOD)) +- fclose(G.outfile); ++ errval = CloseError(G.outfile, G.filename); + #endif + + #if (!defined(NO_FCHOWN) && !defined(NO_FCHMOD)) +@@ -1239,7 +1271,7 @@ void close_outfile(__G) /* GRR: chang + if (fchmod(fileno(G.outfile), filtattr(__G__ G.pInfo->file_attr))) + perror("fchmod (file attributes) error"); + +- fclose(G.outfile); ++ errval = CloseError(G.outfile, G.filename); + #endif /* !NO_FCHOWN && !NO_FCHMOD */ + + /* skip restoring time stamps on user's request */ +@@ -1267,6 +1299,7 @@ void close_outfile(__G) /* GRR: chang + #endif + #endif /* NO_FCHOWN || NO_FCHMOD */ + ++ return errval; + } /* end function close_outfile() */ + + #endif /* !MTS */ +diff -up unzip60/unzpriv.h.close unzip60/unzpriv.h +--- unzip60/unzpriv.h.close 2009-04-20 01:59:26.000000000 +0200 ++++ unzip60/unzpriv.h 2009-11-19 08:19:08.610388618 +0100 +@@ -2604,7 +2604,7 @@ char *GetLoadPath OF((__GPRO)); + int SetFileSize OF((FILE *file, zusz_t filesize)); /* local */ + #endif + #ifndef MTS /* macro in MTS */ +- void close_outfile OF((__GPRO)); /* local */ ++ int close_outfile OF((__GPRO)); /* local */ + #endif + #ifdef SET_SYMLINK_ATTRIBS + int set_symlnk_attribs OF((__GPRO__ slinkentry *slnk_entry)); /* local */ diff --git a/gnu/packages/patches/unzip-exec-shield.patch b/gnu/packages/patches/unzip-exec-shield.patch new file mode 100644 index 0000000000..74500aa5d4 --- /dev/null +++ b/gnu/packages/patches/unzip-exec-shield.patch @@ -0,0 +1,10 @@ +diff -up unzip60/crc_i386.S.exec-shield unzip60/crc_i386.S +--- unzip60/crc_i386.S.exec-shield 2007-01-07 06:02:58.000000000 +0100 ++++ unzip60/crc_i386.S 2009-11-18 11:16:39.630389312 +0100 +@@ -302,3 +302,6 @@ _crc32: /* ulg c + #endif /* i386 || _i386 || _I386 || __i386 */ + + #endif /* !USE_ZLIB && !CRC_TABLE_ONLY */ ++ ++.section .note.GNU-stack, "", @progbits ++.previous diff --git a/gnu/packages/patches/unzip-fix-recmatch.patch b/gnu/packages/patches/unzip-fix-recmatch.patch new file mode 100644 index 0000000000..2a8583c8ca --- /dev/null +++ b/gnu/packages/patches/unzip-fix-recmatch.patch @@ -0,0 +1,477 @@ +diff -up unzip60/match.c.recmatch unzip60/match.c +--- unzip60/match.c.recmatch 2005-08-14 13:00:36.000000000 -0400 ++++ unzip60/match.c 2013-05-28 10:29:57.949077543 -0400 +@@ -27,16 +27,14 @@ + + --------------------------------------------------------------------------- + +- Copyright on recmatch() from Zip's util.c (although recmatch() was almost +- certainly written by Mark Adler...ask me how I can tell :-) ): ++ Copyright on recmatch() from Zip's util.c ++ Copyright (c) 1990-2005 Info-ZIP. All rights reserved. + +- Copyright (C) 1990-1992 Mark Adler, Richard B. Wales, Jean-loup Gailly, +- Kai Uwe Rommel and Igor Mandrichenko. ++ See the accompanying file LICENSE, version 2004-May-22 or later ++ for terms of use. ++ If, for some reason, both of these files are missing, the Info-ZIP license ++ also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html + +- Permission is granted to any individual or institution to use, copy, +- or redistribute this software so long as all of the original files are +- included unmodified, that it is not sold for profit, and that this copy- +- right notice is retained. + + --------------------------------------------------------------------------- + +@@ -53,7 +51,7 @@ + + A set is composed of characters or ranges; a range looks like ``character + hyphen character'' (as in 0-9 or A-Z). [0-9a-zA-Z_] is the minimal set of +- characters allowed in the [..] pattern construct. Other characters are ++ characters ALlowed in the [..] pattern construct. Other characters are + allowed (i.e., 8-bit characters) if your system will support them. + + To suppress the special syntactic significance of any of ``[]*?!^-\'', in- +@@ -101,8 +99,32 @@ + # define WILDCHAR '?' + # define BEG_RANGE '[' + # define END_RANGE ']' ++# define WILDCHR_SINGLE '?' ++# define DIRSEP_CHR '/' ++# define WILDCHR_MULTI '*' + #endif + ++#ifdef WILD_STOP_AT_DIR ++ int wild_stop_at_dir = 1; /* default wildcards do not include / in matches */ ++#else ++ int wild_stop_at_dir = 0; /* default wildcards do include / in matches */ ++#endif ++ ++ ++ ++/* ++ * case mapping functions. case_map is used to ignore case in comparisons, ++ * to_up is used to force upper case even on Unix (for dosify option). ++ */ ++#ifdef USE_CASE_MAP ++# define case_map(c) upper[(c) & 0xff] ++# define to_up(c) upper[(c) & 0xff] ++#else ++# define case_map(c) (c) ++# define to_up(c) ((c) >= 'a' && (c) <= 'z' ? (c)-'a'+'A' : (c)) ++#endif /* USE_CASE_MAP */ ++ ++ + #if 0 /* GRR: add this to unzip.h someday... */ + #if !(defined(MSDOS) && defined(DOSWILD)) + #ifdef WILD_STOP_AT_DIR +@@ -114,8 +136,8 @@ int recmatch OF((ZCONST uch *pattern, ZC + int ignore_case __WDLPRO)); + #endif + #endif /* 0 */ +-static int recmatch OF((ZCONST uch *pattern, ZCONST uch *string, +- int ignore_case __WDLPRO)); ++static int recmatch OF((ZCONST char *, ZCONST char *, ++ int)); + static char *isshexp OF((ZCONST char *p)); + static int namecmp OF((ZCONST char *s1, ZCONST char *s2)); + +@@ -154,192 +176,240 @@ int match(string, pattern, ignore_case _ + } + dospattern[j-1] = '\0'; /* nuke the end "." */ + } +- j = recmatch((uch *)dospattern, (uch *)string, ignore_case __WDL); ++ j = recmatch(dospattern, string, ignore_case); + free(dospattern); + return j == 1; + } else + #endif /* MSDOS && DOSWILD */ +- return recmatch((uch *)pattern, (uch *)string, ignore_case __WDL) == 1; ++ return recmatch(pattern, string, ignore_case) == 1; + } + ++#ifdef _MBCS ++ ++char *___tmp_ptr; + ++#endif + +-static int recmatch(p, s, ic __WDL) +- ZCONST uch *p; /* sh pattern to match */ +- ZCONST uch *s; /* string to which to match it */ +- int ic; /* true for case insensitivity */ +- __WDLDEF /* directory sepchar for WildStopAtDir mode, or 0 */ ++static int recmatch(p, s, cs) ++ZCONST char *p; /* sh pattern to match */ ++ZCONST char *s; /* string to match it to */ ++int cs; /* flag: force case-sensitive matching */ + /* Recursively compare the sh pattern p with the string s and return 1 if +- * they match, and 0 or 2 if they don't or if there is a syntax error in the +- * pattern. This routine recurses on itself no more deeply than the number +- * of characters in the pattern. */ ++ they match, and 0 or 2 if they don't or if there is a syntax error in the ++ pattern. This routine recurses on itself no deeper than the number of ++ characters in the pattern. */ + { +- unsigned int c; /* pattern char or start of range in [-] loop */ ++ int c; /* pattern char or start of range in [-] loop */ ++ /* Get first character, the pattern for new recmatch calls follows */ ++ /* borrowed from Zip's global.c */ ++ int no_wild = 0; ++ int allow_regex=1; ++ /* This fix provided by akt@m5.dion.ne.jp for Japanese. ++ See 21 July 2006 mail. ++ It only applies when p is pointing to a doublebyte character and ++ things like / and wildcards are not doublebyte. This probably ++ should not be needed. */ + +- /* Get first character, the pattern for new recmatch calls follows */ +- c = *p; INCSTR(p); ++#ifdef _MBCS ++ if (CLEN(p) == 2) { ++ if (CLEN(s) == 2) { ++ return (*p == *s && *(p+1) == *(s+1)) ? ++ recmatch(p + 2, s + 2, cs) : 0; ++ } else { ++ return 0; ++ } ++ } ++#endif /* ?_MBCS */ + +- /* If that was the end of the pattern, match if string empty too */ +- if (c == 0) +- return *s == 0; ++ c = *POSTINCSTR(p); + +- /* '?' (or '%') matches any character (but not an empty string). */ +- if (c == WILDCHAR) +-#ifdef WILD_STOP_AT_DIR +- /* If uO.W_flag is non-zero, it won't match '/' */ +- return (*s && (!sepc || *s != (uch)sepc)) +- ? recmatch(p, s + CLEN(s), ic, sepc) : 0; +-#else +- return *s ? recmatch(p, s + CLEN(s), ic) : 0; +-#endif ++ /* If that was the end of the pattern, match if string empty too */ ++ if (c == 0) ++ return *s == 0; ++ ++ /* '?' (or '%' or '#') matches any character (but not an empty string) */ ++ if (c == WILDCHR_SINGLE) { ++ if (wild_stop_at_dir) ++ return (*s && *s != DIRSEP_CHR) ? recmatch(p, s + CLEN(s), cs) : 0; ++ else ++ return *s ? recmatch(p, s + CLEN(s), cs) : 0; ++ } + +- /* '*' matches any number of characters, including zero */ ++ /* WILDCHR_MULTI ('*') matches any number of characters, including zero */ + #ifdef AMIGA +- if (c == '#' && *p == '?') /* "#?" is Amiga-ese for "*" */ +- c = '*', p++; ++ if (!no_wild && c == '#' && *p == '?') /* "#?" is Amiga-ese for "*" */ ++ c = WILDCHR_MULTI, p++; + #endif /* AMIGA */ +- if (c == '*') { +-#ifdef WILD_STOP_AT_DIR +- if (sepc) { +- /* check for single "*" or double "**" */ +-# ifdef AMIGA +- if ((c = p[0]) == '#' && p[1] == '?') /* "#?" is Amiga-ese for "*" */ +- c = '*', p++; +- if (c != '*') { +-# else /* !AMIGA */ +- if (*p != '*') { +-# endif /* ?AMIGA */ +- /* single "*": this doesn't match the dirsep character */ +- for (; *s && *s != (uch)sepc; INCSTR(s)) +- if ((c = recmatch(p, s, ic, sepc)) != 0) +- return (int)c; +- /* end of pattern: matched if at end of string, else continue */ +- if (*p == '\0') +- return (*s == 0); +- /* continue to match if at sepc in pattern, else give up */ +- return (*p == (uch)sepc || (*p == '\\' && p[1] == (uch)sepc)) +- ? recmatch(p, s, ic, sepc) : 2; +- } +- /* "**": this matches slashes */ +- ++p; /* move p behind the second '*' */ +- /* and continue with the non-W_flag code variant */ +- } +-#endif /* WILD_STOP_AT_DIR */ ++ if (!no_wild && c == WILDCHR_MULTI) ++ { ++ if (wild_stop_at_dir) { ++ /* Check for an immediately following WILDCHR_MULTI */ ++# ifdef AMIGA ++ if ((c = p[0]) == '#' && p[1] == '?') /* "#?" is Amiga-ese for "*" */ ++ c = WILDCHR_MULTI, p++; ++ if (c != WILDCHR_MULTI) { ++# else /* !AMIGA */ ++ if (*p != WILDCHR_MULTI) { ++# endif /* ?AMIGA */ ++ /* Single WILDCHR_MULTI ('*'): this doesn't match slashes */ ++ for (; *s && *s != DIRSEP_CHR; INCSTR(s)) ++ if ((c = recmatch(p, s, cs)) != 0) ++ return c; ++ /* end of pattern: matched if at end of string, else continue */ + if (*p == 0) +- return 1; +- if (isshexp((ZCONST char *)p) == NULL) { +- /* Optimization for rest of pattern being a literal string: +- * If there are no other shell expression chars in the rest +- * of the pattern behind the multi-char wildcard, then just +- * compare the literal string tail. +- */ +- ZCONST uch *srest; +- +- srest = s + (strlen((ZCONST char *)s) - strlen((ZCONST char *)p)); +- if (srest - s < 0) +- /* remaining literal string from pattern is longer than rest +- * of test string, there can't be a match +- */ +- return 0; +- else +- /* compare the remaining literal pattern string with the last +- * bytes of the test string to check for a match +- */ ++ return (*s == 0); ++ /* continue to match if at DIRSEP_CHR in pattern, else give up */ ++ return (*p == DIRSEP_CHR || (*p == '\\' && p[1] == DIRSEP_CHR)) ++ ? recmatch(p, s, cs) : 2; ++ } ++ /* Two consecutive WILDCHR_MULTI ("**"): this matches DIRSEP_CHR ('/') */ ++ p++; /* move p past the second WILDCHR_MULTI */ ++ /* continue with the normal non-WILD_STOP_AT_DIR code */ ++ } /* wild_stop_at_dir */ ++ ++ /* Not wild_stop_at_dir */ ++ if (*p == 0) ++ return 1; ++ if (!isshexp((char *)p)) ++ { ++ /* optimization for rest of pattern being a literal string */ ++ ++ /* optimization to handle patterns like *.txt */ ++ /* if the first char in the pattern is '*' and there */ ++ /* are no other shell expression chars, i.e. a literal string */ ++ /* then just compare the literal string at the end */ ++ ++ ZCONST char *srest; ++ ++ srest = s + (strlen(s) - strlen(p)); ++ if (srest - s < 0) ++ /* remaining literal string from pattern is longer than rest of ++ test string, there can't be a match ++ */ ++ return 0; ++ else ++ /* compare the remaining literal pattern string with the last bytes ++ of the test string to check for a match */ + #ifdef _MBCS +- { +- ZCONST uch *q = s; ++ { ++ ZCONST char *q = s; + +- /* MBCS-aware code must not scan backwards into a string from +- * the end. +- * So, we have to move forward by character from our well-known +- * character position s in the test string until we have +- * advanced to the srest position. +- */ +- while (q < srest) +- INCSTR(q); +- /* In case the byte *srest is a trailing byte of a multibyte +- * character in the test string s, we have actually advanced +- * past the position (srest). +- * For this case, the match has failed! +- */ +- if (q != srest) +- return 0; +- return ((ic +- ? namecmp((ZCONST char *)p, (ZCONST char *)q) +- : strcmp((ZCONST char *)p, (ZCONST char *)q) +- ) == 0); +- } ++ /* MBCS-aware code must not scan backwards into a string from ++ * the end. ++ * So, we have to move forward by character from our well-known ++ * character position s in the test string until we have advanced ++ * to the srest position. ++ */ ++ while (q < srest) ++ INCSTR(q); ++ /* In case the byte *srest is a trailing byte of a multibyte ++ * character, we have actually advanced past the position (srest). ++ * For this case, the match has failed! ++ */ ++ if (q != srest) ++ return 0; ++ return ((cs ? strcmp(p, q) : namecmp(p, q)) == 0); ++ } + #else /* !_MBCS */ +- return ((ic +- ? namecmp((ZCONST char *)p, (ZCONST char *)srest) +- : strcmp((ZCONST char *)p, (ZCONST char *)srest) +- ) == 0); ++ return ((cs ? strcmp(p, srest) : namecmp(p, srest)) == 0); + #endif /* ?_MBCS */ +- } else { +- /* pattern contains more wildcards, continue with recursion... */ +- for (; *s; INCSTR(s)) +- if ((c = recmatch(p, s, ic __WDL)) != 0) +- return (int)c; +- return 2; /* 2 means give up--match will return false */ +- } + } +- +- /* Parse and process the list of characters and ranges in brackets */ +- if (c == BEG_RANGE) { +- int e; /* flag true if next char to be taken literally */ +- ZCONST uch *q; /* pointer to end of [-] group */ +- int r; /* flag true to match anything but the range */ +- +- if (*s == 0) /* need a character to match */ +- return 0; +- p += (r = (*p == '!' || *p == '^')); /* see if reverse */ +- for (q = p, e = 0; *q; INCSTR(q)) /* find closing bracket */ +- if (e) +- e = 0; +- else +- if (*q == '\\') /* GRR: change to ^ for MS-DOS, OS/2? */ +- e = 1; +- else if (*q == END_RANGE) +- break; +- if (*q != END_RANGE) /* nothing matches if bad syntax */ +- return 0; +- for (c = 0, e = (*p == '-'); p < q; INCSTR(p)) { +- /* go through the list */ +- if (!e && *p == '\\') /* set escape flag if \ */ +- e = 1; +- else if (!e && *p == '-') /* set start of range if - */ +- c = *(p-1); +- else { +- unsigned int cc = Case(*s); +- +- if (*(p+1) != '-') +- for (c = c ? c : *p; c <= *p; c++) /* compare range */ +- if ((unsigned)Case(c) == cc) /* typecast for MSC bug */ +- return r ? 0 : recmatch(q + 1, s + 1, ic __WDL); +- c = e = 0; /* clear range, escape flags */ +- } +- } +- return r ? recmatch(q + CLEN(q), s + CLEN(s), ic __WDL) : 0; +- /* bracket match failed */ ++ else ++ { ++ /* pattern contains more wildcards, continue with recursion... */ ++ for (; *s; INCSTR(s)) ++ if ((c = recmatch(p, s, cs)) != 0) ++ return c; ++ return 2; /* 2 means give up--shmatch will return false */ + } ++ } + +- /* if escape ('\\'), just compare next character */ +- if (c == '\\' && (c = *p++) == 0) /* if \ at end, then syntax error */ +- return 0; ++#ifndef VMS /* No bracket matching in VMS */ ++ /* Parse and process the list of characters and ranges in brackets */ ++ if (!no_wild && allow_regex && c == '[') ++ { ++ int e; /* flag true if next char to be taken literally */ ++ ZCONST char *q; /* pointer to end of [-] group */ ++ int r; /* flag true to match anything but the range */ ++ ++ if (*s == 0) /* need a character to match */ ++ return 0; ++ p += (r = (*p == '!' || *p == '^')); /* see if reverse */ ++ for (q = p, e = 0; *q; q++) /* find closing bracket */ ++ if (e) ++ e = 0; ++ else ++ if (*q == '\\') ++ e = 1; ++ else if (*q == ']') ++ break; ++ if (*q != ']') /* nothing matches if bad syntax */ ++ return 0; ++ for (c = 0, e = *p == '-'; p < q; p++) /* go through the list */ ++ { ++ if (e == 0 && *p == '\\') /* set escape flag if \ */ ++ e = 1; ++ else if (e == 0 && *p == '-') /* set start of range if - */ ++ c = *(p-1); ++ else ++ { ++ uch cc = (cs ? (uch)*s : case_map((uch)*s)); ++ uch uc = (uch) c; ++ if (*(p+1) != '-') ++ for (uc = uc ? uc : (uch)*p; uc <= (uch)*p; uc++) ++ /* compare range */ ++ if ((cs ? uc : case_map(uc)) == cc) ++ return r ? 0 : recmatch(q + CLEN(q), s + CLEN(s), cs); ++ c = e = 0; /* clear range, escape flags */ ++ } ++ } ++ return r ? recmatch(q + CLEN(q), s + CLEN(s), cs) : 0; ++ /* bracket match failed */ ++ } ++#endif /* !VMS */ + +- /* just a character--compare it */ +-#ifdef QDOS +- return QMatch(Case((uch)c), Case(*s)) ? +- recmatch(p, s + CLEN(s), ic __WDL) : 0; +-#else +- return Case((uch)c) == Case(*s) ? +- recmatch(p, s + CLEN(s), ic __WDL) : 0; +-#endif ++ /* If escape ('\'), just compare next character */ ++ if (!no_wild && c == '\\') ++ if ((c = *p++) == '\0') /* if \ at end, then syntax error */ ++ return 0; ++ ++#ifdef VMS ++ /* 2005-11-06 SMS. ++ Handle "..." wildcard in p with "." or "]" in s. ++ */ ++ if ((c == '.') && (*p == '.') && (*(p+ CLEN( p)) == '.') && ++ ((*s == '.') || (*s == ']'))) ++ { ++ /* Match "...]" with "]". Continue after "]" in both. */ ++ if ((*(p+ 2* CLEN( p)) == ']') && (*s == ']')) ++ return recmatch( (p+ 3* CLEN( p)), (s+ CLEN( s)), cs); ++ ++ /* Else, look for a reduced match in s, until "]" in or end of s. */ ++ for (; *s && (*s != ']'); INCSTR(s)) ++ if (*s == '.') ++ /* If reduced match, then continue after "..." in p, "." in s. */ ++ if ((c = recmatch( (p+ CLEN( p)), s, cs)) != 0) ++ return (int)c; ++ ++ /* Match "...]" with "]". Continue after "]" in both. */ ++ if ((*(p+ 2* CLEN( p)) == ']') && (*s == ']')) ++ return recmatch( (p+ 3* CLEN( p)), (s+ CLEN( s)), cs); ++ ++ /* No reduced match. Quit. */ ++ return 2; ++ } ++ ++#endif /* def VMS */ ++ ++ /* Just a character--compare it */ ++ return (cs ? c == *s : case_map((uch)c) == case_map((uch)*s)) ? ++ recmatch(p, s + CLEN(s), cs) : 0; ++} + +-} /* end function recmatch() */ + + + ++/*************************************************************************************************/ + static char *isshexp(p) + ZCONST char *p; + /* If p is a sh expression, a pointer to the first special character is diff --git a/gnu/packages/patches/unzip-manpage-fix.patch b/gnu/packages/patches/unzip-manpage-fix.patch new file mode 100644 index 0000000000..ec06516bbb --- /dev/null +++ b/gnu/packages/patches/unzip-manpage-fix.patch @@ -0,0 +1,11 @@ +--- unzip60/man/unzip.1 2011-01-11 11:59:59.000000000 +0000 ++++ unzip60/man/unzip_new 2011-02-05 18:45:55.000000000 +0000 +@@ -424,7 +424,7 @@ + .\" Amiga support possible eventually, but not yet + [MS-DOS, OS/2, NT] restore the volume label if the extraction medium is + removable (e.g., a diskette). Doubling the option (\fB\-$$\fP) allows fixed +-media (hard disks) to be labelled as well. By default, volume labels are ++media (hard disks) to be labeled as well. By default, volume labels are + ignored. + .IP \fB\-/\fP\ \fIextensions\fP + [Acorn only] overrides the extension list supplied by Unzip$Ext environment diff --git a/gnu/packages/patches/unzip-overflow.patch b/gnu/packages/patches/unzip-overflow.patch new file mode 100644 index 0000000000..228c28377f --- /dev/null +++ b/gnu/packages/patches/unzip-overflow.patch @@ -0,0 +1,25 @@ +diff --git a/extract.c b/extract.c +index a0a4929..9ef80b3 100644 +--- a/extract.c ++++ b/extract.c +@@ -2214,6 +2214,7 @@ static int test_compr_eb(__G__ eb, eb_size, compr_offset, test_uc_ebdata) + ulg eb_ucsize; + uch *eb_ucptr; + int r; ++ ush method; + + if (compr_offset < 4) /* field is not compressed: */ + return PK_OK; /* do nothing and signal OK */ +@@ -2223,6 +2224,12 @@ static int test_compr_eb(__G__ eb, eb_size, compr_offset, test_uc_ebdata) + eb_size <= (compr_offset + EB_CMPRHEADLEN))) + return IZ_EF_TRUNC; /* no compressed data! */ + ++ method = makeword(eb + (EB_HEADSIZE + compr_offset)); ++ if ((method == STORED) && (eb_size != compr_offset + EB_CMPRHEADLEN + eb_ucsize)) ++ return PK_ERR; /* compressed & uncompressed ++ * should match in STORED ++ * method */ ++ + if ( + #ifdef INT_16BIT + (((ulg)(extent)eb_ucsize) != eb_ucsize) || diff --git a/gnu/packages/patches/unzip-symlink.patch b/gnu/packages/patches/unzip-symlink.patch new file mode 100644 index 0000000000..d7eaf160b4 --- /dev/null +++ b/gnu/packages/patches/unzip-symlink.patch @@ -0,0 +1,17 @@ +diff --git a/process.c b/process.c +index 1e9a1e1..905732b 100644 +--- a/process.c ++++ b/process.c +@@ -1751,6 +1751,12 @@ int process_cdir_file_hdr(__G) /* return PK-type error code */ + = (G.crec.general_purpose_bit_flag & (1 << 11)) == (1 << 11); + #endif + ++#ifdef SYMLINKS ++ /* Initialize the symlink flag, may be set by the platform-specific ++ mapattr function. */ ++ G.pInfo->symlink = 0; ++#endif ++ + return PK_COOL; + + } /* end function process_cdir_file_hdr() */ diff --git a/gnu/packages/patches/unzip-timestamp.patch b/gnu/packages/patches/unzip-timestamp.patch new file mode 100644 index 0000000000..2aa9424eb8 --- /dev/null +++ b/gnu/packages/patches/unzip-timestamp.patch @@ -0,0 +1,41 @@ +From: "Steven M. Schweda" +Subject: Do not ignore extra fields containing Unix Timestamps +Bug-Debian: https://bugs.debian.org/842993 +X-Debian-version: 6.0-21 + +--- a/process.c ++++ b/process.c +@@ -2914,10 +2914,13 @@ + break; + + case EF_IZUNIX2: +- if (have_new_type_eb == 0) { +- flags &= ~0x0ff; /* ignore any previous IZUNIX field */ ++ if (have_new_type_eb == 0) { /* (< 1) */ + have_new_type_eb = 1; + } ++ if (have_new_type_eb <= 1) { ++ /* Ignore any prior (EF_IZUNIX/EF_PKUNIX) UID/GID. */ ++ flags &= 0x0ff; ++ } + #ifdef IZ_HAVE_UXUIDGID + if (have_new_type_eb > 1) + break; /* IZUNIX3 overrides IZUNIX2 e.f. block ! */ +@@ -2933,6 +2936,8 @@ + /* new 3rd generation Unix ef */ + have_new_type_eb = 2; + ++ /* Ignore any prior EF_IZUNIX/EF_PKUNIX/EF_IZUNIX2 UID/GID. */ ++ flags &= 0x0ff; + /* + Version 1 byte version of this extra field, currently 1 + UIDSize 1 byte Size of UID field +@@ -2953,8 +2958,6 @@ + uid_size = *((EB_HEADSIZE + 1) + ef_buf); + gid_size = *((EB_HEADSIZE + uid_size + 2) + ef_buf); + +- flags &= ~0x0ff; /* ignore any previous UNIX field */ +- + if ( read_ux3_value((EB_HEADSIZE + 2) + ef_buf, + uid_size, &z_uidgid[0]) + && diff --git a/gnu/packages/patches/unzip-valgrind.patch b/gnu/packages/patches/unzip-valgrind.patch new file mode 100644 index 0000000000..41a752023b --- /dev/null +++ b/gnu/packages/patches/unzip-valgrind.patch @@ -0,0 +1,26 @@ +diff --git a/fileio.c b/fileio.c +index ba0a1d0..03fc4be 100644 +--- a/fileio.c ++++ b/fileio.c +@@ -2006,6 +2006,7 @@ int do_string(__G__ length, option) /* return PK-type error code */ + unsigned comment_bytes_left; + unsigned int block_len; + int error=PK_OK; ++ unsigned int length2; + #ifdef AMIGA + char tmp_fnote[2 * AMIGA_FILENOTELEN]; /* extra room for squozen chars */ + #endif +@@ -2292,8 +2293,12 @@ int do_string(__G__ length, option) /* return PK-type error code */ + seek_zipf(__G__ G.cur_zipfile_bufstart - G.extra_bytes + + (G.inptr-G.inbuf) + length); + } else { +- if (readbuf(__G__ (char *)G.extra_field, length) == 0) ++ if ((length2 = readbuf(__G__ (char *)G.extra_field, length)) == 0) + return PK_EOF; ++ if(length2 < length) { ++ memset (__G__ (char *)G.extra_field+length2, 0 , length-length2); ++ length = length2; ++ } + /* Looks like here is where extra fields are read */ + getZip64Data(__G__ G.extra_field, length); + #ifdef UNICODE_SUPPORT diff --git a/gnu/packages/patches/unzip-x-option.patch b/gnu/packages/patches/unzip-x-option.patch new file mode 100644 index 0000000000..72c77aeb78 --- /dev/null +++ b/gnu/packages/patches/unzip-x-option.patch @@ -0,0 +1,28 @@ +--- ./process.c.orig 2009-03-06 02:25:10.000000000 +0100 ++++ ./process.c 2013-09-12 10:51:16.000000000 +0200 +@@ -2901,9 +2901,9 @@ + */ + + #ifdef IZ_HAVE_UXUIDGID +- if (eb_len >= EB_UX3_MINLEN +- && z_uidgid != NULL +- && (*((EB_HEADSIZE + 0) + ef_buf) == 1) ++ if ((eb_len >= EB_UX3_MINLEN) ++ && (z_uidgid != NULL) ++ && ((*((EB_HEADSIZE + 0) + ef_buf) == 1))) + /* only know about version 1 */ + { + uch uid_size; +@@ -2915,10 +2915,10 @@ + flags &= ~0x0ff; /* ignore any previous UNIX field */ + + if ( read_ux3_value((EB_HEADSIZE + 2) + ef_buf, +- uid_size, z_uidgid[0]) ++ uid_size, &z_uidgid[0]) + && + read_ux3_value((EB_HEADSIZE + uid_size + 3) + ef_buf, +- gid_size, z_uidgid[1]) ) ++ gid_size, &z_uidgid[1]) ) + { + flags |= EB_UX2_VALID; /* signal success */ + } diff --git a/gnu/packages/patches/unzip-zipbomb-manpage.patch b/gnu/packages/patches/unzip-zipbomb-manpage.patch new file mode 100644 index 0000000000..cdeeea5c93 --- /dev/null +++ b/gnu/packages/patches/unzip-zipbomb-manpage.patch @@ -0,0 +1,25 @@ +From 6fe72291a5563cdbcd2bdd87e36528537b7cdcfb Mon Sep 17 00:00:00 2001 +From: Jakub Martisko +Date: Mon, 18 Nov 2019 14:17:46 +0100 +Subject: [PATCH] update the man page + +--- + man/unzip.1 | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/man/unzip.1 b/man/unzip.1 +index 21816d1..4d66073 100644 +--- a/man/unzip.1 ++++ b/man/unzip.1 +@@ -850,6 +850,8 @@ the specified zipfiles were not found. + invalid options were specified on the command line. + .IP 11 + no matching files were found. ++.IP 12 ++invalid zip file with overlapped components (possible zip bomb). + .IP 50 + the disk is (or was) full during extraction. + .IP 51 +-- +2.23.0 + diff --git a/gnu/packages/patches/unzip-zipbomb-part1.patch b/gnu/packages/patches/unzip-zipbomb-part1.patch new file mode 100644 index 0000000000..35cf856522 --- /dev/null +++ b/gnu/packages/patches/unzip-zipbomb-part1.patch @@ -0,0 +1,25 @@ +From 41beb477c5744bc396fa1162ee0c14218ec12213 Mon Sep 17 00:00:00 2001 +From: Mark Adler +Date: Mon, 27 May 2019 08:20:32 -0700 +Subject: [PATCH] Fix bug in undefer_input() that misplaced the input state. + +--- + fileio.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/fileio.c b/fileio.c +index c042987..bc00d74 100644 +--- a/fileio.c ++++ b/fileio.c +@@ -530,8 +530,10 @@ void undefer_input(__G) + * This condition was checked when G.incnt_leftover was set > 0 in + * defer_leftover_input(), and it is NOT allowed to touch G.csize + * before calling undefer_input() when (G.incnt_leftover > 0) +- * (single exception: see read_byte()'s "G.csize <= 0" handling) !! ++ * (single exception: see readbyte()'s "G.csize <= 0" handling) !! + */ ++ if (G.csize < 0L) ++ G.csize = 0L; + G.incnt = G.incnt_leftover + (int)G.csize; + G.inptr = G.inptr_leftover - (int)G.csize; + G.incnt_leftover = 0; diff --git a/gnu/packages/patches/unzip-zipbomb-part2.patch b/gnu/packages/patches/unzip-zipbomb-part2.patch new file mode 100644 index 0000000000..903c845763 --- /dev/null +++ b/gnu/packages/patches/unzip-zipbomb-part2.patch @@ -0,0 +1,349 @@ +From 47b3ceae397d21bf822bc2ac73052a4b1daf8e1c Mon Sep 17 00:00:00 2001 +From: Mark Adler +Date: Tue, 11 Jun 2019 22:01:18 -0700 +Subject: [PATCH] Detect and reject a zip bomb using overlapped entries. + +This detects an invalid zip file that has at least one entry that +overlaps with another entry or with the central directory to the +end of the file. A Fifield zip bomb uses overlapped local entries +to vastly increase the potential inflation ratio. Such an invalid +zip file is rejected. + +See https://www.bamsoftware.com/hacks/zipbomb/ for David Fifield's +analysis, construction, and examples of such zip bombs. + +The detection maintains a list of covered spans of the zip files +so far, where the central directory to the end of the file and any +bytes preceding the first entry at zip file offset zero are +considered covered initially. Then as each entry is decompressed +or tested, it is considered covered. When a new entry is about to +be processed, its initial offset is checked to see if it is +contained by a covered span. If so, the zip file is rejected as +invalid. + +This commit depends on a preceding commit: "Fix bug in +undefer_input() that misplaced the input state." +--- + extract.c | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++++- + globals.c | 1 + + globals.h | 3 + + process.c | 11 ++++ + unzip.h | 1 + + 5 files changed, 205 insertions(+), 1 deletion(-) + +diff --git a/extract.c b/extract.c +index 1acd769..0973a33 100644 +--- a/extract.c ++++ b/extract.c +@@ -319,6 +319,125 @@ static ZCONST char Far UnsupportedExtraField[] = + "\nerror: unsupported extra-field compression type (%u)--skipping\n"; + static ZCONST char Far BadExtraFieldCRC[] = + "error [%s]: bad extra-field CRC %08lx (should be %08lx)\n"; ++static ZCONST char Far NotEnoughMemCover[] = ++ "error: not enough memory for bomb detection\n"; ++static ZCONST char Far OverlappedComponents[] = ++ "error: invalid zip file with overlapped components (possible zip bomb)\n"; ++ ++ ++ ++ ++ ++/* A growable list of spans. */ ++typedef zoff_t bound_t; ++typedef struct { ++ bound_t beg; /* start of the span */ ++ bound_t end; /* one past the end of the span */ ++} span_t; ++typedef struct { ++ span_t *span; /* allocated, distinct, and sorted list of spans */ ++ size_t num; /* number of spans in the list */ ++ size_t max; /* allocated number of spans (num <= max) */ ++} cover_t; ++ ++/* ++ * Return the index of the first span in cover whose beg is greater than val. ++ * If there is no such span, then cover->num is returned. ++ */ ++static size_t cover_find(cover, val) ++ cover_t *cover; ++ bound_t val; ++{ ++ size_t lo = 0, hi = cover->num; ++ while (lo < hi) { ++ size_t mid = (lo + hi) >> 1; ++ if (val < cover->span[mid].beg) ++ hi = mid; ++ else ++ lo = mid + 1; ++ } ++ return hi; ++} ++ ++/* Return true if val lies within any one of the spans in cover. */ ++static int cover_within(cover, val) ++ cover_t *cover; ++ bound_t val; ++{ ++ size_t pos = cover_find(cover, val); ++ return pos > 0 && val < cover->span[pos - 1].end; ++} ++ ++/* ++ * Add a new span to the list, but only if the new span does not overlap any ++ * spans already in the list. The new span covers the values beg..end-1. beg ++ * must be less than end. ++ * ++ * Keep the list sorted and merge adjacent spans. Grow the allocated space for ++ * the list as needed. On success, 0 is returned. If the new span overlaps any ++ * existing spans, then 1 is returned and the new span is not added to the ++ * list. If the new span is invalid because beg is greater than or equal to ++ * end, then -1 is returned. If the list needs to be grown but the memory ++ * allocation fails, then -2 is returned. ++ */ ++static int cover_add(cover, beg, end) ++ cover_t *cover; ++ bound_t beg; ++ bound_t end; ++{ ++ size_t pos; ++ int prec, foll; ++ ++ if (beg >= end) ++ /* The new span is invalid. */ ++ return -1; ++ ++ /* Find where the new span should go, and make sure that it does not ++ overlap with any existing spans. */ ++ pos = cover_find(cover, beg); ++ if ((pos > 0 && beg < cover->span[pos - 1].end) || ++ (pos < cover->num && end > cover->span[pos].beg)) ++ return 1; ++ ++ /* Check for adjacencies. */ ++ prec = pos > 0 && beg == cover->span[pos - 1].end; ++ foll = pos < cover->num && end == cover->span[pos].beg; ++ if (prec && foll) { ++ /* The new span connects the preceding and following spans. Merge the ++ following span into the preceding span, and delete the following ++ span. */ ++ cover->span[pos - 1].end = cover->span[pos].end; ++ cover->num--; ++ memmove(cover->span + pos, cover->span + pos + 1, ++ (cover->num - pos) * sizeof(span_t)); ++ } ++ else if (prec) ++ /* The new span is adjacent only to the preceding span. Extend the end ++ of the preceding span. */ ++ cover->span[pos - 1].end = end; ++ else if (foll) ++ /* The new span is adjacent only to the following span. Extend the ++ beginning of the following span. */ ++ cover->span[pos].beg = beg; ++ else { ++ /* The new span has gaps between both the preceding and the following ++ spans. Assure that there is room and insert the span. */ ++ if (cover->num == cover->max) { ++ size_t max = cover->max == 0 ? 16 : cover->max << 1; ++ span_t *span = realloc(cover->span, max * sizeof(span_t)); ++ if (span == NULL) ++ return -2; ++ cover->span = span; ++ cover->max = max; ++ } ++ memmove(cover->span + pos + 1, cover->span + pos, ++ (cover->num - pos) * sizeof(span_t)); ++ cover->num++; ++ cover->span[pos].beg = beg; ++ cover->span[pos].end = end; ++ } ++ return 0; ++} + + + +@@ -374,6 +493,29 @@ int extract_or_test_files(__G) /* return PK-type error code */ + } + #endif /* !SFX || SFX_EXDIR */ + ++ /* One more: initialize cover structure for bomb detection. Start with a ++ span that covers the central directory though the end of the file. */ ++ if (G.cover == NULL) { ++ G.cover = malloc(sizeof(cover_t)); ++ if (G.cover == NULL) { ++ Info(slide, 0x401, ((char *)slide, ++ LoadFarString(NotEnoughMemCover))); ++ return PK_MEM; ++ } ++ ((cover_t *)G.cover)->span = NULL; ++ ((cover_t *)G.cover)->max = 0; ++ } ++ ((cover_t *)G.cover)->num = 0; ++ if ((G.extra_bytes != 0 && ++ cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) || ++ cover_add((cover_t *)G.cover, ++ G.extra_bytes + G.ecrec.offset_start_central_directory, ++ G.ziplen) != 0) { ++ Info(slide, 0x401, ((char *)slide, ++ LoadFarString(NotEnoughMemCover))); ++ return PK_MEM; ++ } ++ + /*--------------------------------------------------------------------------- + The basic idea of this function is as follows. Since the central di- + rectory lies at the end of the zipfile and the member files lie at the +@@ -591,7 +733,8 @@ int extract_or_test_files(__G) /* return PK-type error code */ + if (error > error_in_archive) + error_in_archive = error; + /* ...and keep going (unless disk full or user break) */ +- if (G.disk_full > 1 || error_in_archive == IZ_CTRLC) { ++ if (G.disk_full > 1 || error_in_archive == IZ_CTRLC || ++ error == PK_BOMB) { + /* clear reached_end to signal premature stop ... */ + reached_end = FALSE; + /* ... and cancel scanning the central directory */ +@@ -1060,6 +1203,11 @@ static int extract_or_test_entrylist(__G__ numchunk, + + /* seek_zipf(__G__ pInfo->offset); */ + request = G.pInfo->offset + G.extra_bytes; ++ if (cover_within((cover_t *)G.cover, request)) { ++ Info(slide, 0x401, ((char *)slide, ++ LoadFarString(OverlappedComponents))); ++ return PK_BOMB; ++ } + inbuf_offset = request % INBUFSIZ; + bufstart = request - inbuf_offset; + +@@ -1591,6 +1739,18 @@ static int extract_or_test_entrylist(__G__ numchunk, + return IZ_CTRLC; /* cancel operation by user request */ + } + #endif ++ error = cover_add((cover_t *)G.cover, request, ++ G.cur_zipfile_bufstart + (G.inptr - G.inbuf)); ++ if (error < 0) { ++ Info(slide, 0x401, ((char *)slide, ++ LoadFarString(NotEnoughMemCover))); ++ return PK_MEM; ++ } ++ if (error != 0) { ++ Info(slide, 0x401, ((char *)slide, ++ LoadFarString(OverlappedComponents))); ++ return PK_BOMB; ++ } + #ifdef MACOS /* MacOS is no preemptive OS, thus call event-handling by hand */ + UserStop(); + #endif +@@ -1992,6 +2152,34 @@ static int extract_or_test_member(__G) /* return PK-type error code */ + } + + undefer_input(__G); ++ ++ if ((G.lrec.general_purpose_bit_flag & 8) != 0) { ++ /* skip over data descriptor (harder than it sounds, due to signature ++ * ambiguity) ++ */ ++# define SIG 0x08074b50 ++# define LOW 0xffffffff ++ uch buf[12]; ++ unsigned shy = 12 - readbuf((char *)buf, 12); ++ ulg crc = shy ? 0 : makelong(buf); ++ ulg clen = shy ? 0 : makelong(buf + 4); ++ ulg ulen = shy ? 0 : makelong(buf + 8); /* or high clen if ZIP64 */ ++ if (crc == SIG && /* if not SIG, no signature */ ++ (G.lrec.crc32 != SIG || /* if not SIG, have signature */ ++ (clen == SIG && /* if not SIG, no signature */ ++ ((G.lrec.csize & LOW) != SIG || /* if not SIG, have signature */ ++ (ulen == SIG && /* if not SIG, no signature */ ++ (G.zip64 ? G.lrec.csize >> 32 : G.lrec.ucsize) != SIG ++ /* if not SIG, have signature */ ++ ))))) ++ /* skip four more bytes to account for signature */ ++ shy += 4 - readbuf((char *)buf, 4); ++ if (G.zip64) ++ shy += 8 - readbuf((char *)buf, 8); /* skip eight more for ZIP64 */ ++ if (shy) ++ error = PK_ERR; ++ } ++ + return error; + + } /* end function extract_or_test_member() */ +diff --git a/globals.c b/globals.c +index fa8cca5..1e0f608 100644 +--- a/globals.c ++++ b/globals.c +@@ -181,6 +181,7 @@ Uz_Globs *globalsCtor() + # if (!defined(NO_TIMESTAMPS)) + uO.D_flag=1; /* default to '-D', no restoration of dir timestamps */ + # endif ++ G.cover = NULL; /* not allocated yet */ + #endif + + uO.lflag=(-1); +diff --git a/globals.h b/globals.h +index 11b7215..2bdcdeb 100644 +--- a/globals.h ++++ b/globals.h +@@ -260,12 +260,15 @@ typedef struct Globals { + ecdir_rec ecrec; /* used in unzip.c, extract.c */ + z_stat statbuf; /* used by main, mapname, check_for_newer */ + ++ int zip64; /* true if Zip64 info in extra field */ ++ + int mem_mode; + uch *outbufptr; /* extract.c static */ + ulg outsize; /* extract.c static */ + int reported_backslash; /* extract.c static */ + int disk_full; + int newfile; ++ void **cover; /* used in extract.c for bomb detection */ + + int didCRlast; /* fileio static */ + ulg numlines; /* fileio static: number of lines printed */ +diff --git a/process.c b/process.c +index 1e9a1e1..d2e4dc3 100644 +--- a/process.c ++++ b/process.c +@@ -637,6 +637,13 @@ void free_G_buffers(__G) /* releases all memory allocated in global vars */ + } + #endif + ++ /* Free the cover span list and the cover structure. */ ++ if (G.cover != NULL) { ++ free(*(G.cover)); ++ free(G.cover); ++ G.cover = NULL; ++ } ++ + } /* end function free_G_buffers() */ + + +@@ -1890,6 +1897,8 @@ int getZip64Data(__G__ ef_buf, ef_len) + #define Z64FLGS 0xffff + #define Z64FLGL 0xffffffff + ++ G.zip64 = FALSE; ++ + if (ef_len == 0 || ef_buf == NULL) + return PK_COOL; + +@@ -1927,6 +1936,8 @@ int getZip64Data(__G__ ef_buf, ef_len) + #if 0 + break; /* Expect only one EF_PKSZ64 block. */ + #endif /* 0 */ ++ ++ G.zip64 = TRUE; + } + + /* Skip this extra field block. */ +diff --git a/unzip.h b/unzip.h +index 5b2a326..ed24a5b 100644 +--- a/unzip.h ++++ b/unzip.h +@@ -645,6 +645,7 @@ typedef struct _Uzp_cdir_Rec { + #define PK_NOZIP 9 /* zipfile not found */ + #define PK_PARAM 10 /* bad or illegal parameters specified */ + #define PK_FIND 11 /* no files found */ ++#define PK_BOMB 12 /* likely zip bomb */ + #define PK_DISK 50 /* disk full */ + #define PK_EOF 51 /* unexpected EOF */ + diff --git a/gnu/packages/patches/unzip-zipbomb-part3.patch b/gnu/packages/patches/unzip-zipbomb-part3.patch new file mode 100644 index 0000000000..3b8d67b773 --- /dev/null +++ b/gnu/packages/patches/unzip-zipbomb-part3.patch @@ -0,0 +1,112 @@ +From 6d351831be705cc26d897db44f878a978f4138fc Mon Sep 17 00:00:00 2001 +From: Mark Adler +Date: Thu, 25 Jul 2019 20:43:17 -0700 +Subject: [PATCH] Do not raise a zip bomb alert for a misplaced central + directory. + +There is a zip-like file in the Firefox distribution, omni.ja, +which is a zip container with the central directory placed at the +start of the file instead of after the local entries as required +by the zip standard. This commit marks the actual location of the +central directory, as well as the end of central directory records, +as disallowed locations. This now permits such containers to not +raise a zip bomb alert, where in fact there are no overlaps. +--- + extract.c | 25 +++++++++++++++++++------ + process.c | 6 ++++++ + unzpriv.h | 10 ++++++++++ + 3 files changed, 35 insertions(+), 6 deletions(-) + +diff --git a/extract.c b/extract.c +index 0973a33..1b73cb0 100644 +--- a/extract.c ++++ b/extract.c +@@ -493,8 +493,11 @@ int extract_or_test_files(__G) /* return PK-type error code */ + } + #endif /* !SFX || SFX_EXDIR */ + +- /* One more: initialize cover structure for bomb detection. Start with a +- span that covers the central directory though the end of the file. */ ++ /* One more: initialize cover structure for bomb detection. Start with ++ spans that cover any extra bytes at the start, the central directory, ++ the end of central directory record (including the Zip64 end of central ++ directory locator, if present), and the Zip64 end of central directory ++ record, if present. */ + if (G.cover == NULL) { + G.cover = malloc(sizeof(cover_t)); + if (G.cover == NULL) { +@@ -506,15 +509,25 @@ int extract_or_test_files(__G) /* return PK-type error code */ + ((cover_t *)G.cover)->max = 0; + } + ((cover_t *)G.cover)->num = 0; +- if ((G.extra_bytes != 0 && +- cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) || +- cover_add((cover_t *)G.cover, ++ if (cover_add((cover_t *)G.cover, + G.extra_bytes + G.ecrec.offset_start_central_directory, +- G.ziplen) != 0) { ++ G.extra_bytes + G.ecrec.offset_start_central_directory + ++ G.ecrec.size_central_directory) != 0) { + Info(slide, 0x401, ((char *)slide, + LoadFarString(NotEnoughMemCover))); + return PK_MEM; + } ++ if ((G.extra_bytes != 0 && ++ cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) || ++ (G.ecrec.have_ecr64 && ++ cover_add((cover_t *)G.cover, G.ecrec.ec64_start, ++ G.ecrec.ec64_end) != 0) || ++ cover_add((cover_t *)G.cover, G.ecrec.ec_start, ++ G.ecrec.ec_end) != 0) { ++ Info(slide, 0x401, ((char *)slide, ++ LoadFarString(OverlappedComponents))); ++ return PK_BOMB; ++ } + + /*--------------------------------------------------------------------------- + The basic idea of this function is as follows. Since the central di- +diff --git a/process.c b/process.c +index d2e4dc3..d75d405 100644 +--- a/process.c ++++ b/process.c +@@ -1408,6 +1408,10 @@ static int find_ecrec64(__G__ searchlen) /* return PK-class error */ + + /* Now, we are (almost) sure that we have a Zip64 archive. */ + G.ecrec.have_ecr64 = 1; ++ G.ecrec.ec_start -= ECLOC64_SIZE+4; ++ G.ecrec.ec64_start = ecrec64_start_offset; ++ G.ecrec.ec64_end = ecrec64_start_offset + ++ 12 + makeint64(&byterec[ECREC64_LENGTH]); + + /* Update the "end-of-central-dir offset" for later checks. */ + G.real_ecrec_offset = ecrec64_start_offset; +@@ -1542,6 +1546,8 @@ static int find_ecrec(__G__ searchlen) /* return PK-class error */ + makelong(&byterec[OFFSET_START_CENTRAL_DIRECTORY]); + G.ecrec.zipfile_comment_length = + makeword(&byterec[ZIPFILE_COMMENT_LENGTH]); ++ G.ecrec.ec_start = G.real_ecrec_offset; ++ G.ecrec.ec_end = G.ecrec.ec_start + 22 + G.ecrec.zipfile_comment_length; + + /* Now, we have to read the archive comment, BEFORE the file pointer + is moved away backwards to seek for a Zip64 ECLOC64 structure. +diff --git a/unzpriv.h b/unzpriv.h +index dc9eff5..297b3c7 100644 +--- a/unzpriv.h ++++ b/unzpriv.h +@@ -2185,6 +2185,16 @@ typedef struct VMStimbuf { + int have_ecr64; /* valid Zip64 ecdir-record exists */ + int is_zip64_archive; /* Zip64 ecdir-record is mandatory */ + ush zipfile_comment_length; ++ zusz_t ec_start, ec_end; /* offsets of start and end of the ++ end of central directory record, ++ including if present the Zip64 ++ end of central directory locator, ++ which immediately precedes the ++ end of central directory record */ ++ zusz_t ec64_start, ec64_end; /* if have_ecr64 is true, then these ++ are the offsets of the start and ++ end of the Zip64 end of central ++ directory record */ + } ecdir_rec; + + From cd73a812a39f64b6e326a8b598e8fb88ad0d65a4 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 14 Mar 2021 09:25:21 +0200 Subject: [PATCH 0529/1003] gnu: unzip: Rename patch. * gnu/packages/patches/unzip-case-insensitive.patch: Rename from unzip-caseinsensitive.patch. --- .../{unzip-caseinsensitive.patch => unzip-case-insensitive.patch} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename gnu/packages/patches/{unzip-caseinsensitive.patch => unzip-case-insensitive.patch} (100%) diff --git a/gnu/packages/patches/unzip-caseinsensitive.patch b/gnu/packages/patches/unzip-case-insensitive.patch similarity index 100% rename from gnu/packages/patches/unzip-caseinsensitive.patch rename to gnu/packages/patches/unzip-case-insensitive.patch From 699a56e3a36e7fcf8f9e207e86e728b9a3aebe45 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 14 Mar 2021 09:27:43 +0200 Subject: [PATCH 0530/1003] gnu: unzip: Fix patch name. This is what happens when you push without testing your changes :/ * gnu/packages/compression.scm (unzip)[source]: Adjust patch name. --- gnu/packages/compression.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 7a4f70f2b4..399e4451e7 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1660,7 +1660,7 @@ recreates the stored directory structure by default.") "unzip-alt-iconv-utf8.patch" "unzip-alt-iconv-utf8-print.patch" "unzip-fix-recmatch.patch" - "unzip-caseinsensitive.patch" + "unzip-case-insensitive.patch" "unzip-close.patch" "unzip-COVSCAN-fix-unterminated-string.patch" "unzip-CVE-2016-9844.patch" From 703843922aa32c833b1c0ea56ac7362230e60a3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Sun, 14 Mar 2021 09:09:45 +0100 Subject: [PATCH 0531/1003] gun: unzip/fixed: Fix tests on 32-bit systems. * gnu/packages/patches/unzip-32bit-zipbomb-fix.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/compression.scm (unzip/fixed): Apply patch. --- gnu/local.mk | 1 + gnu/packages/compression.scm | 5 +- .../patches/unzip-32bit-zipbomb-fix.patch | 50 +++++++++++++++++++ 3 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/unzip-32bit-zipbomb-fix.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6500f5bda2..25f8a7fde8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1760,6 +1760,7 @@ dist_patch_DATA = \ %D%/packages/patches/unzip-zipbomb-part1.patch \ %D%/packages/patches/unzip-zipbomb-part2.patch \ %D%/packages/patches/unzip-zipbomb-part3.patch \ + %D%/packages/patches/unzip-32bit-zipbomb-fix.patch \ %D%/packages/patches/ustr-fix-build-with-gcc-5.patch \ %D%/packages/patches/util-linux-tests.patch \ %D%/packages/patches/upower-builddir.patch \ diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 399e4451e7..123d408e96 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1676,7 +1676,10 @@ recreates the stored directory structure by default.") "unzip-zipbomb-manpage.patch" "unzip-zipbomb-part1.patch" "unzip-zipbomb-part2.patch" - "unzip-zipbomb-part3.patch")))))) + "unzip-zipbomb-part3.patch" + + ;; https://github.com/madler/unzip/issues/2 + "unzip-32bit-zipbomb-fix.patch")))))) (define-public ziptime (let ((commit "2a5bc9dfbf7c6a80e5f7cb4dd05b4036741478bc") diff --git a/gnu/packages/patches/unzip-32bit-zipbomb-fix.patch b/gnu/packages/patches/unzip-32bit-zipbomb-fix.patch new file mode 100644 index 0000000000..ad6a157c56 --- /dev/null +++ b/gnu/packages/patches/unzip-32bit-zipbomb-fix.patch @@ -0,0 +1,50 @@ +From 13f0260beae851f7d5dd96e9ef757d8d6d7daac1 Mon Sep 17 00:00:00 2001 +From: Mark Adler +Date: Sun, 9 Feb 2020 07:20:13 -0800 +Subject: [PATCH] Fix false overlapped components detection on 32-bit systems. + +32-bit systems with ZIP64_SUPPORT enabled could have different +size types for zoff_t and zusz_t. That resulted in bad parameter +passing to the bound tracking functions, itself due to the lack of +use of C function prototypes in unzip. This commit assures that +parameters are cast properly for those calls. + +This problem occurred only for ill-chosen make options, which give +a 32-bit zoff_t. A proper build will result in a zoff_t of 64 bits, +even on 32-bit systems. +--- + extract.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/extract.c b/extract.c +index 1b73cb0..d9866f9 100644 +--- a/extract.c ++++ b/extract.c +@@ -329,7 +329,7 @@ static ZCONST char Far OverlappedComponents[] = + + + /* A growable list of spans. */ +-typedef zoff_t bound_t; ++typedef zusz_t bound_t; + typedef struct { + bound_t beg; /* start of the span */ + bound_t end; /* one past the end of the span */ +@@ -518,7 +518,8 @@ int extract_or_test_files(__G) /* return PK-type error code */ + return PK_MEM; + } + if ((G.extra_bytes != 0 && +- cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) || ++ cover_add((cover_t *)G.cover, ++ (bound_t)0, (bound_t)G.extra_bytes) != 0) || + (G.ecrec.have_ecr64 && + cover_add((cover_t *)G.cover, G.ecrec.ec64_start, + G.ecrec.ec64_end) != 0) || +@@ -1216,7 +1217,7 @@ static int extract_or_test_entrylist(__G__ numchunk, + + /* seek_zipf(__G__ pInfo->offset); */ + request = G.pInfo->offset + G.extra_bytes; +- if (cover_within((cover_t *)G.cover, request)) { ++ if (cover_within((cover_t *)G.cover, (bound_t)request)) { + Info(slide, 0x401, ((char *)slide, + LoadFarString(OverlappedComponents))); + return PK_BOMB; From dc1e643601b6f0a75a8eafcbe374dea24eb5459f Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Sun, 14 Mar 2021 10:30:35 +0100 Subject: [PATCH 0532/1003] gnu: font-ibm-plex: Update to 5.1.3. * gnu/packages/fonts.scm (font-ibm-plex): Update to 5.1.3. --- gnu/packages/fonts.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 8c49c05c47..59af99032e 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -82,7 +82,7 @@ (define-public font-ibm-plex (package (name "font-ibm-plex") - (version "4.0.2") + (version "5.1.3") (source (origin (method url-fetch) (uri (string-append @@ -90,7 +90,7 @@ "v" version "/OpenType.zip")) (sha256 (base32 - "17bd84ic7z9hkcjy4bwnh4z51bnkh2vrjzwvs9g6lwzmxjswa5b6")))) + "0zlz8kxx54i4hpgaip9690bilvn5w14gp7jjkk6cz4h9p3xml231")))) (build-system font-build-system) (home-page "https://github.com/IBM/plex") (synopsis "IBM Plex typeface") From cd3b4c85f9c03d67b42407f52c22e107f2c1207b Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Sun, 14 Mar 2021 10:39:43 +0100 Subject: [PATCH 0533/1003] gnu: font-abattis-cantarell: Update to 0.301. * gnu/packages/fonts.scm (font-abattis-cantarell): Update to 0.301. --- gnu/packages/fonts.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 59af99032e..16f2d2b3a7 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -221,7 +221,7 @@ Cyrillic, Canadian Syllabics and most Latin based languages are supported.") (define-public font-cantarell (package (name "font-abattis-cantarell") - (version "0.201") + (version "0.301") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/cantarell-fonts/" @@ -229,7 +229,7 @@ Cyrillic, Canadian Syllabics and most Latin based languages are supported.") "/cantarell-fonts-" version ".tar.xz")) (sha256 (base32 - "0qwqmkczqy09fdj8l11nr841ks0dwsydqg55qyms12m4yvjn87xn")))) + "10sycxscs9kzl451mhygyj2qj8qlny8pamskb86np7izq05dnd9x")))) (build-system meson-build-system) (native-inputs `(("gettext" ,gettext-minimal))) ; for msgfmt From 930d22883d96adee9d2f4676dbb317ef77b9d3b9 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Sun, 14 Mar 2021 10:45:58 +0100 Subject: [PATCH 0534/1003] gnu: font-libertinus: Update to 7.040. * gnu/packages/fonts.scm (font-libertinus): Update to 7.040. --- gnu/packages/fonts.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 16f2d2b3a7..b78c46b0f8 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -408,7 +408,7 @@ Biolinum is available in both Regular and Bold weights.") (define-public font-libertinus (package (name "font-libertinus") - (version "6.12") + (version "7.040") (source (origin (method url-fetch) @@ -416,7 +416,7 @@ Biolinum is available in both Regular and Bold weights.") "/download/v" version "/libertinus-" version ".zip")) (sha256 - (base32 "06pcsd5pijjid7xjxak35jla089krm5hqnbglv8ldncq475q7kb2")))) + (base32 "1xkj993hwkr49q63dd2dnkvdkm9sckxm3zjwhdxsxn21fi80ikic")))) (build-system font-build-system) (home-page "https://github.com/alerque/libertinus") (synopsis "Font family based on Linux Libertine") From 87a8eaf671f7619df782a662c12a4ffeba8183dc Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sat, 19 Dec 2020 10:06:07 +0100 Subject: [PATCH 0535/1003] gnu: mescc-tools: Update to 0.7.0. * gnu/packages/mes.scm (mescc-tools)[source]: Update to 0.7.0. [arguments]: Add patch-prefix phase to remove hardcoded "/usr/bin". --- gnu/packages/mes.scm | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index 5ceb1c6151..c9dd98ccd4 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -293,21 +293,30 @@ get_machine.") (package (inherit mescc-tools-0.5.2) (name "mescc-tools") - (version "0.6.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.savannah.nongnu.org/r/mescc-tools.git") - (commit (string-append "Release_" version)))) - (file-name (string-append "mescc-tools-" version "-checkout")) - (sha256 - (base32 - "1cgxcdza6ws725x84i31la7jxmlk5a3nsij5shz1zljg0i36kj99")))) + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://git.savannah.nongnu.org/cgit/mescc-tools.git/snapshot/" + name "-Release_" version + ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1p1ijia4rm3002f5sypidl9v5gq0mlch9b0n61rpxkdsaaxjqax3")))) (arguments (substitute-keyword-arguments (package-arguments mescc-tools-0.5.2) ((#:make-flags _) `(list (string-append "PREFIX=" (assoc-ref %outputs "out")) - "CC=gcc")))))) + "CC=gcc")) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'patch-prefix + (lambda _ + (substitute* "sha256.sh" + (("/usr/bin/sha256sum") (which "sha256sum"))) + #t)))))))) (define-public m2-planet (let ((commit "b87ddb0051b168ea45f8d49a610dcd069263336a") From 8b05461cabaeababa314768d2e48cec531aea9aa Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sun, 13 Dec 2020 14:45:45 +0100 Subject: [PATCH 0536/1003] gnu: Add nyacc-1.00.2. * gnu/packages/mes.scm (nyacc-1.00.2): New variable. --- gnu/packages/mes.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index c9dd98ccd4..33db948f0a 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -117,6 +117,35 @@ $prefix/share/guile/site/$GUILE_EFFECTIVE_VERSION\n")) (inputs `(("guile" ,guile-3.0))))) +(define-public nyacc-1.00.2 + (package + (inherit nyacc) + (version "1.00.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/nyacc/nyacc-" + version ".tar.gz")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* (find-files "." "^Makefile\\.in$") + (("^SITE_SCM_DIR =.*") + "SITE_SCM_DIR = \ +@prefix@/share/guile/site/@GUILE_EFFECTIVE_VERSION@\n") + (("^SITE_SCM_GO_DIR =.*") + "SITE_SCM_GO_DIR = \ +@prefix@/lib/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n") + (("^INFODIR =.*") + "INFODIR = @prefix@/share/info\n") + (("^DOCDIR =.*") + "DOCDIR = @prefix@/share/doc/$(PACKAGE_TARNAME)\n")) + #t)) + (sha256 + (base32 + "065ksalfllbdrzl12dz9d9dcxrv97wqxblslngsc6kajvnvlyvpk")))) + (inputs + `(("guile" ,guile-2.2))))) + (define-public mes-0.19 ;; Mes used for bootstrap. (package From ba485217b8ee55792abe6360a208d8c12e3ee7a0 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sat, 19 Dec 2020 15:01:45 +0100 Subject: [PATCH 0537/1003] gnu: mes: Update to nyacc-1.00.2. * gnu/packages/mes.scm (mes)[propagated-inputs]: Use nyacc-1.00.2. --- gnu/packages/mes.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index 33db948f0a..848f63f0fb 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -204,7 +204,7 @@ Guile.") "0p1jsrrmcbc0zrvbvnjbb6iyxr0in71km293q8qj6gnar6bw09av")))) (propagated-inputs `(("mescc-tools" ,mescc-tools) - ("nyacc" ,nyacc-0.99))) + ("nyacc" ,nyacc-1.00.2))) (native-search-paths (list (search-path-specification (variable "C_INCLUDE_PATH") From 1d684aedf839ca35c2f8784f168fd56835402ab6 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sun, 14 Mar 2021 11:53:00 +0100 Subject: [PATCH 0538/1003] gnu: mes: Update to 0.23. * gnu/packages/mes.scm (mes)[source]: Update to 0.23. [supported-systems]: Add aarch64-linux, armhf-linux. (mes-rb5)[version,source,supported-systems]: Revert to v0.22. --- gnu/packages/mes.scm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index 848f63f0fb..b1b194eb80 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018, 2019, 2020 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2017, 2018, 2019, 2020, 2021 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2017, 2018 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; @@ -194,14 +194,16 @@ Guile.") (define-public mes (package (inherit mes-0.19) - (version "0.22") + (version "0.23") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mes/" "mes-" version ".tar.gz")) (sha256 (base32 - "0p1jsrrmcbc0zrvbvnjbb6iyxr0in71km293q8qj6gnar6bw09av")))) + "0mnryfkl0dwbr5gxp16j5s95gw7z1vm1fqa1pxabp0aiar1hw53s")))) + (supported-systems '("armhf-linux" "aarch64-linux" + "i686-linux" "x86_64-linux")) (propagated-inputs `(("mescc-tools" ,mescc-tools) ("nyacc" ,nyacc-1.00.2))) @@ -223,6 +225,15 @@ Guile.") (package (inherit mes) (name "mes-rb5") + (version "0.22") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/mes/" + "mes-" version ".tar.gz")) + (sha256 + (base32 + "0p1jsrrmcbc0zrvbvnjbb6iyxr0in71km293q8qj6gnar6bw09av")))) + (supported-systems '("i686-linux" "x86_64-linux")) (inputs '()) (propagated-inputs '()) (native-inputs From a9d537594d074b65196426aa9d3bce7b8d46e2ef Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sun, 14 Mar 2021 16:40:48 +0100 Subject: [PATCH 0539/1003] bootstrap: mescc-tools-static: Base arguments on version 0.5.2. * gnu/packages/make-bootstrap.scm (%mescc-tools-static)[arguments]: Use fixed package-arguments of mescc-tools-0.5.2. --- gnu/packages/make-bootstrap.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index b2d3e2a326..bf76d5052f 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Mark H Weaver -;;; Copyright © 2018, 2019 Jan (janneke) Nieuwenhuizen +;;; Copyright © 2018, 2019, 2021 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2019, 2020 Marius Bakke ;;; Copyright © 2020 Mathieu Othacehe ;;; @@ -593,7 +593,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (name "mescc-tools-static") (arguments `(#:system "i686-linux" - ,@(substitute-keyword-arguments (package-arguments mescc-tools) + ,@(substitute-keyword-arguments (package-arguments mescc-tools-0.5.2) ((#:make-flags flags) `(cons "CC=gcc -static" ,flags))))))) From 7982adb40a0253290fba9e1dbd43b153753159a7 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sun, 14 Mar 2021 16:49:12 +0100 Subject: [PATCH 0540/1003] gnu: mescc-tools: Build for armhf-linux and aarch64-linux too. * gnu/packages/mes.scm (mescc-tools)[supported-systems]: New field, overriding the v0.5.2 version. --- gnu/packages/mes.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index b1b194eb80..b9b2352b96 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -345,6 +345,8 @@ get_machine.") (sha256 (base32 "1p1ijia4rm3002f5sypidl9v5gq0mlch9b0n61rpxkdsaaxjqax3")))) + (supported-systems '("armhf-linux" "aarch64-linux" + "i686-linux" "x86_64-linux")) (arguments (substitute-keyword-arguments (package-arguments mescc-tools-0.5.2) ((#:make-flags _) From 7327295462fccae4ee3e9bf74962c82d3445fec8 Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sun, 14 Mar 2021 17:32:01 +0100 Subject: [PATCH 0541/1003] gnu: mes: Remove aarch64-linux from supported-systems. * gnu/packages/mes.scm (mes)[supported-systems]: Remove aarch64-linux. Thinko: mes only builds on aarch64-linux using --system=armhf-linux. --- gnu/packages/mes.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index b9b2352b96..b4b7bcb6b5 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -202,8 +202,7 @@ Guile.") (sha256 (base32 "0mnryfkl0dwbr5gxp16j5s95gw7z1vm1fqa1pxabp0aiar1hw53s")))) - (supported-systems '("armhf-linux" "aarch64-linux" - "i686-linux" "x86_64-linux")) + (supported-systems '("armhf-linux" "i686-linux" "x86_64-linux")) (propagated-inputs `(("mescc-tools" ,mescc-tools) ("nyacc" ,nyacc-1.00.2))) From 61a1165340a8bcc45550259edca25275d899fe09 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sun, 14 Mar 2021 18:19:16 +0100 Subject: [PATCH 0542/1003] ci: Add channel subset support. * gnu/ci.scm (cuirass-jobs): Add channel subset support. --- gnu/ci.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/ci.scm b/gnu/ci.scm index 6edcdd0e19..664cabfec6 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -23,6 +23,7 @@ (define-module (gnu ci) #:use-module (guix channels) #:use-module (guix config) + #:use-module (guix describe) #:use-module (guix store) #:use-module (guix grafts) #:use-module (guix profiles) @@ -521,6 +522,17 @@ valid." (let ((hello (specification->package "hello"))) (list (package-job store (job-name hello) hello system)))) + (('channels . channels) + ;; Build only the packages from CHANNELS. + (let ((all (all-packages))) + (filter-map + (lambda (package) + (match (package-channels package) + ((channel . _) + (and (member (channel-name channel) channels) + (package->job store package system))) + (else #f))) + all))) (('packages . rest) ;; Build selected list of packages only. (let ((packages (map specification->package rest))) From 4d00185d66c9bd047dfe3077ed89a6a6129429ee Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 9 Feb 2021 12:04:48 +0200 Subject: [PATCH 0543/1003] build-system/cargo: Propagate crates across builds. * guix/build-system/cargo.scm (cargo-build): Add cargo-package-flags, install-source flags. * guix/build/cargo-build-system.scm (unpack-rust-crates, package): New procedures. (install): Also install crate sources. (%standard-phases): Add new phases. * doc/guix.texi (Packaging-guidelines)[Rust Crates]: Adjust to changes in the cargo-build-system. --- doc/guix.texi | 15 ++++--- guix/build-system/cargo.scm | 5 +++ guix/build/cargo-build-system.scm | 70 +++++++++++++++++++++++++++++-- 3 files changed, 82 insertions(+), 8 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 4cf241c56a..3e7ffc81bc 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -32,7 +32,7 @@ Copyright @copyright{} 2015, 2016, 2017, 2019, 2020, 2021 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@* -Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Efraim Flashner@* +Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner@* Copyright @copyright{} 2016 John Darrington@* Copyright @copyright{} 2016, 2017 Nikita Gillmann@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020 Jan Nieuwenhuizen@* @@ -7449,8 +7449,10 @@ supports builds of packages using Cargo, the build tool of the It adds @code{rustc} and @code{cargo} to the set of inputs. A different Rust package can be specified with the @code{#:rust} parameter. -Regular cargo dependencies should be added to the package definition via the -@code{#:cargo-inputs} parameter as a list of name and spec pairs, where the +Regular cargo dependencies should be added to the package definition similarly +to other packages; those needed only at build time to native-inputs, others to +inputs. If you need to add source-only crates then you should add them to via +the @code{#:cargo-inputs} parameter as a list of name and spec pairs, where the spec can be a package or a source definition. Note that the spec must evaluate to a path to a gzipped tarball which includes a @code{Cargo.toml} file at its root, or it will be ignored. Similarly, cargo dev-dependencies @@ -7461,8 +7463,11 @@ In its @code{configure} phase, this build system will make any source inputs specified in the @code{#:cargo-inputs} and @code{#:cargo-development-inputs} parameters available to cargo. It will also remove an included @code{Cargo.lock} file to be recreated by @code{cargo} during the -@code{build} phase. The @code{install} phase installs the binaries -defined by the crate. +@code{build} phase. The @code{package} phase will run @code{cargo package} +to create a source crate for future use. The @code{install} phase installs +the binaries defined by the crate. Unless @code{install-source? #f} is +defined it will also install a source crate repository of itself and unpacked +sources, to ease in future hacking on rust packages. @end defvr @defvr {Scheme Variable} chicken-build-system diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm index 6c8edf6bac..e53d2a7523 100644 --- a/guix/build-system/cargo.scm +++ b/guix/build-system/cargo.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 David Craven ;;; Copyright © 2019 Ivan Petkov ;;; Copyright © 2020 Jakub Kądziołka +;;; Copyright © 2021 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -77,8 +78,10 @@ to NAME and VERSION." (vendor-dir "guix-vendor") (cargo-build-flags ''("--release")) (cargo-test-flags ''("--release")) + (cargo-package-flags ''("--no-metadata" "--no-verify")) (features ''()) (skip-build? #f) + (install-source? #t) (phases '(@ (guix build cargo-build-system) %standard-phases)) (outputs '("out")) @@ -106,8 +109,10 @@ to NAME and VERSION." #:vendor-dir ,vendor-dir #:cargo-build-flags ,cargo-build-flags #:cargo-test-flags ,cargo-test-flags + #:cargo-package-flags ,cargo-package-flags #:features ,features #:skip-build? ,skip-build? + #:install-source? ,install-source? #:tests? ,(and tests? (not skip-build?)) #:phases ,phases #:outputs %outputs diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm index 1d21b33895..c7ca98105c 100644 --- a/guix/build/cargo-build-system.scm +++ b/guix/build/cargo-build-system.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 David Craven ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2019 Ivan Petkov -;;; Copyright © 2019, 2020 Efraim Flashner +;;; Copyright © 2019, 2020, 2021 Efraim Flashner ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2020 Marius Bakke ;;; @@ -73,6 +73,38 @@ Cargo.toml file present at its root." " | cut -d/ -f2" " | grep -q '^Cargo.toml$'"))))) +(define* (unpack-rust-crates #:key inputs vendor-dir #:allow-other-keys) + (define (inputs->rust-inputs inputs) + "Filter using the label part from INPUTS." + (filter (lambda (input) + (match input + ((name . _) (rust-package? name)))) + inputs)) + (define (inputs->directories inputs) + "Extract the directory part from INPUTS." + (match inputs + (((names . directories) ...) + directories))) + + (let ((rust-inputs (inputs->directories (inputs->rust-inputs inputs)))) + (unless (null? rust-inputs) + (mkdir-p "target/package") + (mkdir-p vendor-dir) + ;; TODO: copy only regular inputs to target/package, not native-inputs. + (for-each (lambda (input-crate) + (copy-recursively (string-append input-crate + "/share/cargo/registry") + "target/package")) + (delete-duplicates rust-inputs)) + + (for-each (lambda (crate) + (invoke "tar" "xzf" crate "-C" vendor-dir)) + (find-files "target/package" "\\.crate$")))) + #t) + +(define (rust-package? name) + (string-prefix? "rust-" name)) + (define* (configure #:key inputs (vendor-dir "guix-vendor") #:allow-other-keys) @@ -170,9 +202,27 @@ directory = '" port) (apply invoke "cargo" "test" cargo-test-flags) #t)) -(define* (install #:key inputs outputs skip-build? features #:allow-other-keys) +(define* (package #:key + install-source? + (cargo-package-flags '("--no-metadata" "--no-verify")) + #:allow-other-keys) + "Run 'cargo-package' for a given Cargo package." + (if install-source? + (apply invoke `("cargo" "package" ,@cargo-package-flags)) + (format #t "Not installing cargo sources, skipping `cargo package`.~%")) + #t) + +(define* (install #:key + inputs + outputs + skip-build? + install-source? + features + #:allow-other-keys) "Install a given Cargo package." - (let* ((out (assoc-ref outputs "out"))) + (let* ((out (assoc-ref outputs "out")) + (registry (string-append out "/share/cargo/registry")) + (sources (string-append out "/share/cargo/src"))) (mkdir-p out) ;; Make cargo reuse all the artifacts we just built instead @@ -186,6 +236,18 @@ directory = '" port) (invoke "cargo" "install" "--no-track" "--path" "." "--root" out "--features" (string-join features))) + (when install-source? + ;; Install crate tarballs and unpacked sources for later use. + ;; TODO: Is there a better format/directory for these files? + (mkdir-p sources) + (for-each (lambda (crate) + (install-file crate registry)) + (find-files "target/package" "\\.crate$")) + + (for-each (lambda (crate) + (invoke "tar" "xzf" crate "-C" sources)) + (find-files registry "\\.crate$"))) + #t)) (define %standard-phases @@ -195,6 +257,8 @@ directory = '" port) (replace 'build build) (replace 'check check) (replace 'install install) + (add-after 'build 'package package) + (add-after 'unpack 'unpack-rust-crates unpack-rust-crates) (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums patch-cargo-checksums))) (define* (cargo-build #:key inputs (phases %standard-phases) From 7af3daa7576e4b60825de9beb3ab77235f4e4fce Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 14 Mar 2021 19:50:47 +0200 Subject: [PATCH 0544/1003] gnu: librsvg-next: Adjust to changes in cargo-build-system. * gnu/packages/gnome.scm (librsvg-next)[arguments]: Add flag to not install source. --- gnu/packages/gnome.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index b795cae145..11bbee6e2a 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3386,7 +3386,8 @@ library.") (build-system cargo-build-system) (outputs '("out" "doc")) (arguments - `(#:modules + `(#:install-source? #f + #:modules ((guix build cargo-build-system) (guix build utils) ((guix build gnu-build-system) #:prefix gnu:)) From 21ead0fc5b8519b586c051b75fbc9d3ee5520755 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 14 Mar 2021 19:51:33 +0200 Subject: [PATCH 0545/1003] gnu: newsboat: Adjust to changes in cargo-build-system. * gnu/packages/syndication.scm (newsboat)[arguments]: Add flag to not install source. --- gnu/packages/syndication.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index 79dbb77018..5f0aa1bd8b 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -90,6 +90,7 @@ (guix build utils) ((guix build gnu-build-system) #:prefix gnu:)) #:vendor-dir "vendor" + #:install-source? #f #:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3) ("rust-bitflags" ,rust-bitflags-1) From e598556ee524a62544e777b1f0dd80316ef41754 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 14 Mar 2021 19:52:12 +0200 Subject: [PATCH 0546/1003] gnu: alacritty: Adjust to changes in the cargo-build-system. * gnu/packages/terminals.scm (alacritty)[arguments]: Add flag to not install source. --- gnu/packages/terminals.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 291a241473..1a465305de 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -1220,7 +1220,8 @@ made by suckless.") (base32 "1b9hy3ya72hhpl8nkayc7dy4f97xp75np48dm5na5pgyv8b45agi")))) (build-system cargo-build-system) (arguments - `(#:cargo-test-flags '("--release" "--" "--skip=config_read_eof") + `(#:install-source? #f ; virtual manifest + #:cargo-test-flags '("--release" "--" "--skip=config_read_eof") #:cargo-inputs (("rust-alacritty-config-derive" ,rust-alacritty-config-derive-0.1) ("rust-alacritty-terminal" ,rust-alacritty-terminal-0.12) From 2babf7d831f77a379a6fdc70a70a2b4d57f68f8a Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sun, 14 Mar 2021 19:16:55 +0100 Subject: [PATCH 0547/1003] gnu: pdfarranger: Update to 1.7.1. * gnu/packages/pdf.scm (pdfarranger): Update to 1.7.1. --- gnu/packages/pdf.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index e81c3caf87..437000b7c0 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -1276,7 +1276,7 @@ python-pypdf2 instead.") (define-public pdfarranger (package (name "pdfarranger") - (version "1.7.0") + (version "1.7.1") (source (origin (method git-fetch) @@ -1285,7 +1285,7 @@ python-pypdf2 instead.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0dmgmvpghsm938iznalbg8h8k17a5h3q466yfc67mcll428n4nx3")))) + (base32 "1c2mafnz8pv32wzkc2wx4q8y2x7xffpn6ag12dj7ga5n772fb6s3")))) (build-system python-build-system) (arguments '(#:tests? #f ;no tests From b15720182e393bc26e9d61ea4d7534b7eea19390 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 3 Mar 2021 21:57:21 -0600 Subject: [PATCH 0548/1003] gnu: Add python-sphobjinv. * gnu/packages/sphinx.scm (python-sphobjinv): New variable. --- gnu/packages/sphinx.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index e046885a6b..29872ed942 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2019 Alexandros Theodotou ;;; Copyright © 2019 Brett Gilio ;;; Copyright © 2020 Giacomo Leidi +;;; Copyright © 2021 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -697,3 +698,27 @@ their results) in both HTML and LaTeX output. Un-evaluated notebooks - i.e. notebooks without stored output cells - will be automatically executed during the Sphinx build process.") (license license:expat))) + +(define-public python-sphobjinv + (package + (name "python-sphobjinv") + (version "2.0.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "sphobjinv" version)) + (sha256 + (base32 + "126lgm54c94ay3fci512ap4l607gak90pbz0fk98syxvj5izrrzx")) + (patches (search-patches "python-sphobjinv-system-ca.patch")))) + (build-system python-build-system) + (propagated-inputs + `(("python-attrs" ,python-attrs) + ;("python-certifi" ,python-certifi) + ("python-fuzzywuzzy" ,python-fuzzywuzzy) + ("python-jsonschema" ,python-jsonschema) + ("python-levenshtein" ,python-levenshtein))) + (home-page "https://github.com/bskinn/sphobjinv") + (synopsis "Sphinx cross-reference tool") + (description "Sphinx objects.inv inspection/manipulation tool.") + (license license:expat))) From 207aa62e6ba476ecefd101ba7643b5afa9c1de20 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 3 Mar 2021 22:05:07 -0600 Subject: [PATCH 0549/1003] gnu: Add python-sphinx-autodoc-typehints. * gnu/packages/sphinx.scm (python-sphinx-autodoc-typehints): New variable. --- gnu/packages/sphinx.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index 29872ed942..1704cbce59 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -670,6 +670,33 @@ documentation when a change is detected. It also includes a livereload enabled web server.") (license license:expat))) +(define-public python-sphinx-autodoc-typehints + (package + (name "python-sphinx-autodoc-typehints") + (version "1.11.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "sphinx-autodoc-typehints" version)) + (sha256 + (base32 + "086v9mg21pvfx0lfqjx2xf36hnzrsripfg345xi59f7xwb9scjr4")))) + (build-system python-build-system) + (propagated-inputs + `(("python-setuptools-scm" ,python-setuptools-scm) + ("python-sphinx" ,python-sphinx))) + (native-inputs + `(("python-dataclasses" ,python-dataclasses) + ("python-pytest" ,python-pytest) + ("python-sphinx" ,python-sphinx) + ("python-sphobjinv" ,python-sphobjinv) + ("python-typing-extensions" ,python-typing-extensions))) + (home-page "https://pypi.org/project/sphinx-autodoc-typehints/") + (synopsis "Type hints for the Sphinx autodoc extension") + (description "This extension allows you to use Python 3 annotations for +documenting acceptable argument types and return value types of functions.") + (license license:expat))) + (define-public python-nbsphinx (package (name "python-nbsphinx") From 30f53814873349c9a1b48844a1cb36b6ea432513 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 3 Mar 2021 22:12:10 -0600 Subject: [PATCH 0550/1003] gnu: Add python-sortedcollections. * gnu/packages/python-xyz.scm (python-sortedcollections): New variable. --- gnu/packages/python-xyz.scm | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index dadf08f03d..7a633ee48b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2013, 2014, 2015, 2016, 2019 Andreas Enge ;;; Copyright © 2014, 2015 Mark H Weaver -;;; Copyright © 2014, 2017 Eric Bavier +;;; Copyright © 2014, 2017, 2021 Eric Bavier ;;; Copyright © 2014, 2015 Federico Beffa ;;; Copyright © 2015 Omar Radwan ;;; Copyright © 2015 Pierre-Antoine Rault @@ -19877,6 +19877,26 @@ main differences are that @code{cytoolz} is faster and cytoolz offers a C API that is accessible to other projects developed in Cython.") (license license:bsd-3))) +(define-public python-sortedcollections + (package + (name "python-sortedcollections") + (version "2.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "sortedcollections" version)) + (sha256 + (base32 + "1kfabpnjyjm5ml2zspry9jy3xq49aybchgaa4ahic2jqdjfn1sfq")))) + (build-system python-build-system) + (propagated-inputs + `(("python-sortedcontainers" ,python-sortedcontainers))) + (arguments '(#:tests? #f)) ; Tests not included in release tarball. + (home-page "http://www.grantjenks.com/docs/sortedcollections/") + (synopsis "Python Sorted Collections") + (description "Sorted Collections is a Python sorted collections library.") + (license license:asl2.0))) + (define-public python-sortedcontainers (package (name "python-sortedcontainers") From af25357b7d8b37fd0da040ff847bd243c3660132 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 3 Mar 2021 22:45:55 -0600 Subject: [PATCH 0551/1003] gnu: Add python-bidict. * gnu/packages/python-xyz.scm (python-bidict): New variable. --- gnu/packages/python-xyz.scm | 41 +++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 7a633ee48b..16658de514 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -779,6 +779,47 @@ certificate returned by the server to which a connection has been established, and verifies that it matches the intended target hostname.") (license license:psfl))) +(define-public python-bidict + (package + (name "python-bidict") + (version "0.21.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "bidict" version)) + (sha256 + (base32 + "02dy0b1k7qlhn7ajyzkrvxhyhjj0hzcq6ws3zjml9hkdz5znz92g")))) + (build-system python-build-system) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-hypothesis" ,python-hypothesis-5.23) ; use_true_random=... from >=5.19.0 + ("python-pre-commit" ,python-pre-commit) + ("python-py" ,python-py) + ("python-pytest" ,python-pytest) + ("python-pytest-benchmark" ,python-pytest-benchmark) + ("python-pytest-cov" ,python-pytest-cov) + ("python-setuptools-scm" ,python-setuptools-scm) + ("python-sortedcollections" ,python-sortedcollections) + ("python-sortedcontainers" ,python-sortedcontainers) + ("python-sphinx" ,python-sphinx) + ("python-sphinx-autodoc-typehints" ,python-sphinx-autodoc-typehints) + ("python-tox" ,python-tox))) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'relax-reqs + (lambda _ + (substitute* "setup.py" + (("sortedcollections < 2") "sortedcollections")) + #t)) + (replace 'check + (lambda _ (invoke "./run_tests.py")))))) + (home-page "https://bidict.readthedocs.io") + (synopsis "Bidirectional mapping library") + (description "The @code{bidict} library provides several data structures +for working with bidirectional mappings in Python.") + (license license:mpl2.0))) + (define-public python-bitarray (package (name "python-bitarray") From 7164d2105af9d0ebd53f5f4ecbaf1ecd02825e79 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 3 Mar 2021 21:55:36 -0600 Subject: [PATCH 0552/1003] gnu: Add python-engineio * gnu/packages/python-web.scm (python-engineio): New variable. --- gnu/packages/python-web.scm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 8cfddcdfac..586e778bff 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2017 Roel Janssen ;;; Copyright © 2016, 2017, 2020 Julien Lepiller ;;; Copyright © 2016, 2017 Nikita -;;; Copyright © 2014, 2017 Eric Bavier +;;; Copyright © 2014, 2017, 2021 Eric Bavier ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015 Cyril Roelandt ;;; Copyright © 2015, 2016, 2017, 2019 Leo Famulari @@ -3806,6 +3806,29 @@ this it tries to be opinion-free and very extendable.") (define-public python2-elasticsearch (package-with-python2 python-elasticsearch)) +(define-public python-engineio + (package + (name "python-engineio") + (version "4.0.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-engineio" version)) + (sha256 + (base32 + "0xqkjjxbxakz9fd7v94rkr2r5r9nrkap2c3gf3abbd0j6ld5qmxv")))) + (build-system python-build-system) + (propagated-inputs + `(("python-aiohttp" ,python-aiohttp) + ("python-requests" ,python-requests) + ("python-websocket-client" ,python-websocket-client))) + (arguments '(#:tests? #f)) ; Tests not included in release tarball. + (home-page "https://github.com/miguelgrinberg/python-engineio/") + (synopsis "Engine.IO server") + (description "Python implementation of the Engine.IO realtime client and +server.") + (license license:expat))) + (define-public python-flask-script (package (name "python-flask-script") From 078f3288e29ddab9a10187b1d0697c57448eac7b Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sat, 13 Mar 2021 20:37:16 -0600 Subject: [PATCH 0553/1003] gnu: Add python-socketio. * gnu/packages/python-web.scm (python-socketio): New variable. --- gnu/packages/python-web.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 586e778bff..9828d5e61c 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -5826,6 +5826,32 @@ that's written to go fast. It allows the usage of the your code non-blocking and speedy.") (license license:expat))) +(define-public python-socketio + (package + (name "python-socketio") + (version "5.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-socketio" version)) + (sha256 + (base32 + "14vhpxdn54lz54mhcqlgcks0ssbws9gd1y7ii16a2g3gpfdc531k")))) + (build-system python-build-system) + (propagated-inputs + `(("python-aiohttp" ,python-aiohttp) + ("python-bidict" ,python-bidict) + ("python-engineio" ,python-engineio) + ("python-requests" ,python-requests) + ("python-websocket-client" ,python-websocket-client) + ("python-websockets" ,python-websockets))) + (arguments '(#:tests? #f)) ; Tests not included in release tarball. + (home-page "https://github.com/miguelgrinberg/python-socketio/") + (synopsis "Python Socket.IO server") + (description + "Python implementation of the Socket.IO realtime client and server.") + (license license:expat))) + (define-public python-socks (package (name "python-socks") From 5a31eb7d35d7085246cf40f138318501adc27d36 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sat, 13 Mar 2021 20:37:43 -0600 Subject: [PATCH 0554/1003] gnu: Add python-flask-socketio. * gnu/packages/python-web.scm (python-flask-socketio): New variable. --- gnu/packages/python-web.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 9828d5e61c..e327b3b030 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -5489,6 +5489,27 @@ decorators and tools to describe your API and expose its documentation properly Swagger.") (license license:bsd-3))) +(define-public python-flask-socketio + (package + (name "python-flask-socketio") + (version "5.0.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Flask-SocketIO" version)) + (sha256 + (base32 + "09r2gpj2nbn72v2zaf6xsvlazln77pgqzp2pg2021nja47sijhsw")))) + (build-system python-build-system) + (propagated-inputs + `(("python-flask" ,python-flask) + ("python-socketio" ,python-socketio))) + (arguments '(#:tests? #f)) ; Tests not included in release tarball. + (home-page "https://github.com/miguelgrinberg/Flask-SocketIO/") + (synopsis "Socket.IO integration for Flask applications") + (description "Socket.IO integration for Flask applications") + (license license:expat))) + (define-public python-manuel (package (name "python-manuel") From 620206b680169e6c90cbf65e8e4a222f15060fce Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sat, 13 Mar 2021 20:38:20 -0600 Subject: [PATCH 0555/1003] gnu: python-eventlet: Add missing dependencies. * gnu/packages/python-xyz.scm (python-eventlet)[propagated-inputs]: Add python-dnspython and python-monotonic. --- gnu/packages/python-xyz.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 16658de514..3535649c0d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1882,7 +1882,9 @@ standard.") "1hgz8jq19wlz8vwqj900ry8cjv578nz4scc91mlc8944yid6573c")))) (build-system python-build-system) (propagated-inputs - `(("python-greenlet" ,python-greenlet))) + `(("python-dnspython" ,python-dnspython) + ("python-greenlet" ,python-greenlet) + ("python-monotonic" ,python-monotonic))) (arguments ;; TODO: Requires unpackaged 'enum-compat'. '(#:tests? #f)) From b76762a9b7f723ec59302927dde488c80f7f4ee9 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sun, 14 Mar 2021 11:07:59 -0500 Subject: [PATCH 0556/1003] gnu: Update OnionShare to 2.3.1. * gnu/packages/tor.scm (onionshare-cli): New variable. (onionshare): Inherit from onionshare-cli. [arguments]: Add patch-tests and install-data phases. Adjust check phase for new tests. [inputs]: Remove python-pycryptodome, python-nautilus, python-sip, python-stem, and python-pyqt. Add onionshare-cli, python-shiboken-2, python-pyside-2, python-qrcode. [description]: Use new upstream description. --- gnu/packages/tor.scm | 168 ++++++++++++++++++++++++++++++++----------- 1 file changed, 128 insertions(+), 40 deletions(-) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 2284483ca3..86ae5d0ea4 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner ;;; Copyright © 2016, 2017 Nikita ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice -;;; Copyright © 2017, 2018, 2019 Eric Bavier +;;; Copyright © 2017, 2018, 2019, 2021 Eric Bavier ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2020 Vincent Legoll @@ -221,10 +221,10 @@ tastes. It has application for both stand-alone systems and multi-user networks.") (license license:gpl2+))) -(define-public onionshare +(define-public onionshare-cli (package - (name "onionshare") - (version "2.2") + (name "onionshare-cli") + (version "2.3.1") (source (origin (method git-fetch) @@ -233,53 +233,141 @@ networks.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0m8ygxcyp3nfzzhxs2dfnpqwh1vx0aws44lszpnnczz4fks3a5j4")))) + (base32 "1llvnvb676s2cs6a4y7isxdj75ddfvskw1p93v5m35vsw7f72kqz")))) (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-install-path - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (onionshare (string-append out "/share/onionshare"))) - (substitute* '("setup.py" "onionshare/common.py") - (("sys.prefix,") (string-append "'" out "',"))) - (substitute* "setup.py" - ;; For the nautilus plugin. - (("/usr/share/nautilus") "share/nautilus")) - (substitute* "install/org.onionshare.OnionShare.desktop" - (("/usr") out)) - #t))) - (delete 'check) - (add-before 'strip 'check - ;; After all the patching we run the tests after installing. - (lambda _ - (setenv "HOME" "/tmp") ; Some tests need a writable homedir - (invoke "pytest" "tests/") - #t))))) (native-inputs `(("python-pytest" ,python-pytest))) (inputs - `(("python-pycryptodome" ,python-pycryptodome) + ;; TODO: obfs4proxy + `(("python-click" ,python-click) + ("python-eventlet" ,python-eventlet) ("python-flask" ,python-flask) ("python-flask-httpauth" ,python-flask-httpauth) - ("python-nautilus" ,python-nautilus) - ("python-sip" ,python-sip) - ("python-stem" ,python-stem) + ("python-flask-socketio" ,python-flask-socketio) + ("python-psutil" ,python-psutil) + ("python-pycryptodome" ,python-pycryptodome) ("python-pysocks" ,python-pysocks) - ("python-pyqt" ,python-pyqt))) + ("python-requests" ,python-requests) + ("python-stem" ,python-stem) + ("python-unidecode" ,python-unidecode) + ("python-urllib3" ,python-urllib3) + ("tor" ,tor))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'bake-tor + (lambda* (#:key inputs #:allow-other-keys) + (substitute* (list "cli/onionshare_cli/common.py" + "desktop/src/onionshare/gui_common.py") + (("shutil\\.which\\(\\\"tor\\\"\\)") + (string-append "\"" (which "tor") "\""))) + #t)) + (add-before 'build 'change-directory + (lambda _ (chdir "cli") #t)) + (replace 'check + (lambda _ + (setenv "HOME" "/tmp") + ;; Greendns is not needed for testing, and if eventlet tries to + ;; load it, an OSError is thrown when getprotobyname is called. + ;; Thankfully there is an environment variable to disable the + ;; greendns import, so use it: + (setenv "EVENTLET_NO_GREENDNS" "yes") + (invoke "pytest" "-v" "./tests")))))) (home-page "https://onionshare.org/") (synopsis "Securely and anonymously share files") - (description "OnionShare is a tool for securely and anonymously sending -and receiving files using Tor onion services. It works by starting a web -server directly on your computer and making it accessible as an unguessable -Tor web address that others can load in a Tor-enabled web browser to download -files from you, or upload files to you. It doesn't require setting up a -separate server, using a third party file-sharing service, or even logging -into an account.") - ;; Bundled, minified jquery is expat licensed. + (description "OnionShare lets you securely and anonymously share files, +host websites, and chat with friends using the Tor network. + +This package contains @code{onionshare-cli}, a command-line interface to +OnionShare.") + ;; Bundled, minified jquery and socket.io are expat licensed. (license (list license:gpl3+ license:expat)))) +(define-public onionshare + (package (inherit onionshare-cli) + (name "onionshare") + (arguments + (substitute-keyword-arguments (package-arguments onionshare-cli) + ((#:phases phases) + `(modify-phases ,phases + (replace 'change-directory + (lambda _ (chdir "desktop/src") #t)) + (add-after 'unpack 'patch-tests + (lambda _ + ;; Disable tests that require starting servers, which will hang + ;; during build: + ;; - test_autostart_and_autostop_timer_mismatch + ;; - test_autostart_timer + ;; - test_autostart_timer_too_short + ;; - test_autostop_timer_too_short + (substitute* "desktop/tests/test_gui_share.py" + (("( *)def test_autost(art|op)_(timer(_too_short)?|and_[^(]*)\\(" & >) + (string-append > "@pytest.mark.skip\n" &))) + ;; - test_13_quit_with_server_started_should_warn + (substitute* "desktop/tests/test_gui_tabs.py" + (("( *)def test_13" & >) + (string-append > "@pytest.mark.skip\n" &))) + ;; Remove multiline load-path adjustment, so that onionshare-cli + ;; modules are loaded from input + (use-modules (ice-9 regex) + (ice-9 rdelim)) + (with-atomic-file-replacement "desktop/tests/conftest.py" + (let ((start-rx (make-regexp "^# Allow importing"))) + (lambda (in out) + (let loop () + (let ((line (read-line in 'concat))) + (if (regexp-exec start-rx line) + (begin ; slurp until closing paren + (let slurp () + (let ((line (read-line in 'concat))) + (if (string=? line ")\n") + (dump-port in out) ; done + (slurp))))) + (begin + (display line out) + (loop)))))))))) + (replace 'check + (lambda _ + ;; Some tests need a writable homedir: + (setenv "HOME" "/tmp") + ;; Ensure installed modules can be found: + (setenv "PYTHONPATH" + (string-append %output "/lib/python" + ,(version-major+minor (package-version python)) + "/site-packages:" + (getenv "PYTHONPATH"))) + ;; Avoid `getprotobyname` issues: + (setenv "EVENTLET_NO_GREENDNS" "yes") + ;; Make Qt render "offscreen": + (setenv "QT_QPA_PLATFORM" "offscreen") + ;; Must be run from "desktop" dir: + (chdir "..") + (invoke "./tests/run.sh"))) + (add-after 'install 'install-data + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share"))) + (install-file "org.onionshare.OnionShare.svg" + (string-append share "/icons/hicolor/scalable/apps")) + (install-file "org.onionshare.OnionShare.desktop" + (string-append share "/applications")) + #t))))))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (inputs + ;; TODO: obfs4proxy + `(("onionshare-cli" ,onionshare-cli) + ("python-shiboken-2" ,python-shiboken-2) + ("python-pyside-2" ,python-pyside-2) + ("python-qrcode" ,python-qrcode) + ;; The desktop client uses onionshare-cli like a python module. But + ;; propagating onionshare-cli's inputs is not great, since a user would + ;; not expect to have those installed when using onionshare-cli as a + ;; standalone utility. So add onionshare-cli's inputs here. + ,@(package-inputs onionshare-cli))) + (description "OnionShare lets you securely and anonymously share files, +host websites, and chat with friends using the Tor network."))) + (define-public nyx (package (name "nyx") From cbfcbb79df41c2485716e12874424215d9840e3d Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sun, 14 Mar 2021 19:30:36 +0100 Subject: [PATCH 0557/1003] ci: Support packages with multiple channels. This is a follow-up of 61a1165340a8bcc45550259edca25275d899fe09. For packages provided by external channels, package-channels procedure will return at least two channels. Take it into account. * gnu/ci.scm (cuirass-jobs): Fix channels subset argument. --- gnu/ci.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/ci.scm b/gnu/ci.scm index 664cabfec6..acd05a18b4 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -527,11 +527,10 @@ valid." (let ((all (all-packages))) (filter-map (lambda (package) - (match (package-channels package) - ((channel . _) - (and (member (channel-name channel) channels) - (package->job store package system))) - (else #f))) + (any (lambda (channel) + (and (member (channel-name channel) channels) + (package->job store package system))) + (package-channels package))) all))) (('packages . rest) ;; Build selected list of packages only. From d4e29f3628ad0c7576d7cab659d7fcc19d21999a Mon Sep 17 00:00:00 2001 From: Leo Prikler Date: Sun, 14 Mar 2021 19:40:32 +0100 Subject: [PATCH 0558/1003] gnu: libhandy: Update to 1.2.0. * gnu/packages/gnome.scm (libhandy): Update to 1.2.0. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 11bbee6e2a..af8722a02e 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -10916,7 +10916,7 @@ tabs, and it supports drag and drop re-ordering of terminals.") (define-public libhandy (package (name "libhandy") - (version "1.0.3") + (version "1.2.0") (source (origin (method git-fetch) @@ -10925,7 +10925,7 @@ tabs, and it supports drag and drop re-ordering of terminals.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0flgwlm921801i3ns0dwqpnxl89f3rzn4y9h723i13bmflch3in7")))) + (base32 "1a8wfgm2jd3gcbk1nzhq6f2xq7vkxdc9qky8p9k0za9gqi7xfg4v")))) (build-system meson-build-system) (arguments `(#:configure-flags From 43cbb05f4b75ba131dfb9176e5c79f4eb7f70fd7 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 13 Mar 2021 15:47:33 -0500 Subject: [PATCH 0559/1003] gnu: libtiff: Refer to the version number in a more robust way. * gnu/packages/image.scm (libtiff)[arguments]: Replace use of VERSION with (PACKAGE-VERSION THIS-PACKAGE). (libtiff/fixed): Adjust accordingly. --- gnu/packages/image.scm | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 4f249b7622..de6872b9b2 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -596,11 +596,12 @@ extracting icontainer icon files.") "doc")) ;1.3 MiB of HTML documentation (arguments ;; Instead of using --docdir, this package has its own --with-docdir. - `(#:configure-flags (list (string-append "--with-docdir=" - (assoc-ref %outputs "doc") - "/share/doc/" - ,name "-" ,version) - "--disable-static"))) + `(#:configure-flags + (list (string-append "--with-docdir=" + (assoc-ref %outputs "doc") + "/share/doc/" + ,name "-" ,(package-version this-package)) + "--disable-static"))) (inputs `(("zlib" ,zlib) ("libjpeg" ,libjpeg-turbo))) (synopsis "Library for handling TIFF files") @@ -625,14 +626,7 @@ collection of tools for doing simple manipulations of TIFF images.") version ".tar.gz")) (sha256 (base32 - "1jrkjv0xya9radddn8idxvs2gqzp3l2b1s8knlizmn7ad3jq817b")))) - (arguments - ;; Instead of using --docdir, this package has its own --with-docdir. - `(#:configure-flags (list (string-append "--with-docdir=" - (assoc-ref %outputs "doc") - "/share/doc/" - ,name "-" ,version) - "--disable-static"))))) + "1jrkjv0xya9radddn8idxvs2gqzp3l2b1s8knlizmn7ad3jq817b")))))) (define-public leptonica (package From bb2427fa283555a997049f107a5fec2e1434eeb7 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 14 Mar 2021 16:25:08 -0400 Subject: [PATCH 0560/1003] gnu: ImageMagick: Refer to the version number in a more robust way. * gnu/packages/imagemagick.scm (imagemagick)[arguments]: Replace use of VERSION with (PACKAGE-VERSION THIS-PACKAGE). (imagemagick/fixed): Adjust accordingly. --- gnu/packages/imagemagick.scm | 54 ++++++------------------------------ 1 file changed, 9 insertions(+), 45 deletions(-) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 8f6eddce0d..9ac15361b4 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -85,7 +85,8 @@ (let ((doc (assoc-ref outputs "doc"))) (string-append "DOCUMENTATION_PATH = " doc "/share/doc/" - ,name "-" ,version "\n")))) + ,name "-" + ,(package-version this-package) "\n")))) #t)) (add-before 'configure 'strip-configure-xml @@ -131,55 +132,18 @@ text, lines, polygons, ellipses and Bézier curves.") (package (inherit imagemagick) (name "imagemagick") - (version "6.9.12-2g") ;; 'g' for 'guix', appended character to retain - ;; version length so grafting works properly. + ;; 'g' for 'guix', appended character to retain version length so grafting + ;; works properly. + (version "6.9.12-2g") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" - "6.9.12-2" ;; Hardcode version here since we - ;; had to change it up there. - ".tar.xz")) + ;; Hardcode the version here since we had to + ;; change it above. + "6.9.12-2.tar.xz")) (sha256 (base32 - "17da5zihz58qm41y61sbvw626m5xfwr2nzszlikrvxyq1j1q7asa")))) - (arguments - `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch" - - ;; Do not embed the build date in binaries. - "--enable-reproducible-build") - - ;; FIXME: The test suite succeeded before version 6.9.6-2. - ;; Try enabling it again with newer releases. - #:tests? #f - #:phases (modify-phases %standard-phases - (add-before - 'build 'pre-build - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "Makefile" - ;; Clear the `LIBRARY_PATH' setting, which otherwise - ;; interferes with our own use. - (("^LIBRARY_PATH[[:blank:]]*=.*$") - "") - - ;; Since the Makefile overrides $docdir, modify it to - ;; refer to what we want. - (("^DOCUMENTATION_PATH[[:blank:]]*=.*$") - (let ((doc (assoc-ref outputs "doc"))) - (string-append "DOCUMENTATION_PATH = " - doc "/share/doc/" - ,name "-" ,version "\n")))) - #t)) - (add-before - 'configure 'strip-configure-xml - (lambda _ - (substitute* "config/configure.xml.in" - ;; Do not record 'configure' arguments in the - ;; configure.xml file that gets installed: That would - ;; include --docdir, and thus retain a reference to the - ;; 'doc' output. - (("@CONFIGURE_ARGS@") - "not recorded")) - #t))))))) + "17da5zihz58qm41y61sbvw626m5xfwr2nzszlikrvxyq1j1q7asa")))))) (define-public perl-image-magick (package From b082ea9406f19f0d0c296227510256b87fe11e3c Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 14 Mar 2021 16:28:48 -0400 Subject: [PATCH 0561/1003] gnu: OpenSSL: Refer to the version number in a more robust way. * gnu/packages/tls.scm (openssl)[arguments]: Replace use of VERSION with (PACKAGE-VERSION THIS-PACKAGE). (openssl/fixed): Adjust accordingly. --- gnu/packages/tls.scm | 107 +++---------------------------------------- 1 file changed, 6 insertions(+), 101 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index e8e1350e29..c10975ed52 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -296,6 +296,7 @@ required structures.") (define-public openssl (package (name "openssl") + (replacement openssl/fixed) (version "1.1.1i") (source (origin (method url-fetch) @@ -310,7 +311,6 @@ required structures.") (sha256 (base32 "0hjj1phcwkz69lx1lrvr9grhpl4y529mwqycqc1hdla1zqsnmgp8")))) - (replacement openssl/fixed) (build-system gnu-build-system) (outputs '("out" "doc" ;6.8 MiB of man3 pages and full HTML documentation @@ -371,7 +371,8 @@ required structures.") ;; PREFIX/ssl. Change that to something more ;; conventional. (string-append "--openssldir=" out - "/share/openssl-" ,version) + "/share/openssl-" + ,(package-version this-package)) (string-append "--prefix=" out) (string-append "-Wl,-rpath," lib) @@ -411,7 +412,8 @@ required structures.") ;; scripts. Remove them to avoid retaining a reference on Perl. (let ((out (assoc-ref outputs "out"))) (delete-file-recursively (string-append out "/share/openssl-" - ,version "/misc")) + ,(package-version this-package) + "/misc")) #t)))))) (native-search-paths (list (search-path-specification @@ -445,104 +447,7 @@ required structures.") (patches (search-patches "openssl-1.1-c-rehash-in.patch")) (sha256 (base32 - "1gw17520vh13izy1xf5q0a2fqgcayymjjj5bk0dlkxndfnszrwma")))) - (arguments - `(#:parallel-tests? #f - #:test-target "test" - - ;; Changes to OpenSSL sometimes cause Perl to "sneak in" to the closure, - ;; so we explicitly disallow it here. - #:disallowed-references ,(list (canonical-package perl)) - #:phases - (modify-phases %standard-phases - ,@(if (%current-target-system) - '((add-before - 'configure 'set-cross-compile - (lambda* (#:key target outputs #:allow-other-keys) - (setenv "CROSS_COMPILE" (string-append target "-")) - (setenv "CONFIGURE_TARGET_ARCH" - (cond - ((string-prefix? "i586" target) - "hurd-x86") - ((string-prefix? "i686" target) - "linux-x86") - ((string-prefix? "x86_64" target) - "linux-x86_64") - ((string-prefix? "mips64el" target) - "linux-mips64") - ((string-prefix? "arm" target) - "linux-armv4") - ((string-prefix? "aarch64" target) - "linux-aarch64") - ((string-prefix? "powerpc64le" target) - "linux-ppc64le") - ((string-prefix? "powerpc64" target) - "linux-ppc64") - ((string-prefix? "powerpc" target) - "linux-ppc"))) - #t))) - '()) - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib"))) - ;; It's not a shebang so patch-source-shebangs misses it. - (substitute* "config" - (("/usr/bin/env") - (string-append (assoc-ref %build-inputs "coreutils") - "/bin/env"))) - (invoke ,@(if (%current-target-system) - '("./Configure") - '("./config")) - "shared" ;build shared libraries - "--libdir=lib" - - ;; The default for this catch-all directory is - ;; PREFIX/ssl. Change that to something more - ;; conventional. - (string-append "--openssldir=" out - "/share/openssl-" ,version) - - (string-append "--prefix=" out) - (string-append "-Wl,-rpath," lib) - ,@(if (%current-target-system) - '((getenv "CONFIGURE_TARGET_ARCH")) - '()))))) - (add-after 'install 'move-static-libraries - (lambda* (#:key outputs #:allow-other-keys) - ;; Move static libraries to the "static" output. - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib")) - (static (assoc-ref outputs "static")) - (slib (string-append static "/lib"))) - (for-each (lambda (file) - (install-file file slib) - (delete-file file)) - (find-files lib "\\.a$")) - #t))) - (add-after 'install 'move-extra-documentation - (lambda* (#:key outputs #:allow-other-keys) - ;; Move man3 pages and full HTML documentation to "doc". - (let* ((out (assoc-ref outputs "out")) - (man3 (string-append out "/share/man/man3")) - (html (string-append out "/share/doc/openssl")) - (doc (assoc-ref outputs "doc")) - (man-target (string-append doc "/share/man/man3")) - (html-target (string-append doc "/share/doc/openssl"))) - (copy-recursively man3 man-target) - (delete-file-recursively man3) - (copy-recursively html html-target) - (delete-file-recursively html) - #t))) - (add-after - 'install 'remove-miscellany - (lambda* (#:key outputs #:allow-other-keys) - ;; The 'misc' directory contains random undocumented shell and Perl - ;; scripts. Remove them to avoid retaining a reference on Perl. - (let ((out (assoc-ref outputs "out"))) - (delete-file-recursively (string-append out "/share/openssl-" - ,version "/misc")) - #t)))))))) + "1gw17520vh13izy1xf5q0a2fqgcayymjjj5bk0dlkxndfnszrwma")))))) (define-public openssl-1.0 (package From d059485257bbe5b4f4d903b357ec99a3af2d4f39 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 14 Mar 2021 19:12:53 -0400 Subject: [PATCH 0562/1003] gnu: unzip: Remove redundant and unused "unzip-symlink.patch". This is a followup to commit 31d289a4759909d24dd309ac24d42902a8c20da0, which added, but did not use, "unzip-symlink.patch", which is redundant with the pre-existing "unzip-initialize-symlink-flag.patch". * gnu/packages/patches/unzip-symlink.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/patches/unzip-symlink.patch | 17 ----------------- 2 files changed, 18 deletions(-) delete mode 100644 gnu/packages/patches/unzip-symlink.patch diff --git a/gnu/local.mk b/gnu/local.mk index 25f8a7fde8..cf8849cf59 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1752,7 +1752,6 @@ dist_patch_DATA = \ %D%/packages/patches/unzip-fix-recmatch.patch \ %D%/packages/patches/unzip-manpage-fix.patch \ %D%/packages/patches/unzip-overflow.patch \ - %D%/packages/patches/unzip-symlink.patch \ %D%/packages/patches/unzip-timestamp.patch \ %D%/packages/patches/unzip-valgrind.patch \ %D%/packages/patches/unzip-x-option.patch \ diff --git a/gnu/packages/patches/unzip-symlink.patch b/gnu/packages/patches/unzip-symlink.patch deleted file mode 100644 index d7eaf160b4..0000000000 --- a/gnu/packages/patches/unzip-symlink.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/process.c b/process.c -index 1e9a1e1..905732b 100644 ---- a/process.c -+++ b/process.c -@@ -1751,6 +1751,12 @@ int process_cdir_file_hdr(__G) /* return PK-type error code */ - = (G.crec.general_purpose_bit_flag & (1 << 11)) == (1 << 11); - #endif - -+#ifdef SYMLINKS -+ /* Initialize the symlink flag, may be set by the platform-specific -+ mapattr function. */ -+ G.pInfo->symlink = 0; -+#endif -+ - return PK_COOL; - - } /* end function process_cdir_file_hdr() */ From c4e826bbd2dd22bd7005cbb5e32e2a5018e6216d Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 09:08:30 +0100 Subject: [PATCH 0563/1003] gnu: Add r-esc. * gnu/packages/statistics.scm (r-esc): New variable. --- gnu/packages/statistics.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 9761b9ceaf..86a818da9e 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -6058,3 +6058,28 @@ Helper functions to apply the Correcting for Outcome Reporting Bias (CORB) method to correct for outcome reporting bias in a meta-analysis (van Aert & Wicherts, 2020).") (license license:gpl2+))) + +(define-public r-esc + (package + (name "r-esc") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "esc" version)) + (sha256 + (base32 + "0gns7gz55p6pha05413r3hlvd7f2v1amxkg13d197mab1ypqic7q")))) + (properties `((upstream-name . "esc"))) + (build-system r-build-system) + (home-page "https://strengejacke.github.io/esc/") + (synopsis + "Effect Size Computation for Meta Analysis") + (description + "Implementation of the web-based +@url{http://www.campbellcollaboration.org/escalc/html/EffectSizeCalculator-Home.php,'Practical +Meta-Analysis Effect Size Calculator'} from David B. Wilson in R. Based on the +input, the effect size can be returned as standardized mean difference, Cohen's +f, Hedges' g, Pearson's r or Fisher's transformation z, odds ratio or log odds, +or eta squared effect size.") + (license license:gpl3))) From ae807fdb3736f8fbe60caa2ac1fbf2511aab561e Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 09:18:23 +0100 Subject: [PATCH 0564/1003] gnu: Add r-qdapregex. * gnu/packages/cran.scm (r-qdapregex): New variable. --- gnu/packages/cran.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e6b205077b..c41d6d953d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27353,3 +27353,29 @@ predictions either by cell means or by more advanced/powerful mixed effects models, yielding predictions and confidence intervals that may be easily visualized at any level of the experiment's design.") (license license:gpl2+))) + +(define-public r-qdapregex + (package + (name "r-qdapregex") + (version "0.7.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "qdapRegex" version)) + (sha256 + (base32 + "1xa8q1way3gjadrjh3mv3xr4c6b4h16nd2c6lgl969difplpfz9p")))) + (properties `((upstream-name . "qdapRegex"))) + (build-system r-build-system) + (propagated-inputs `(("r-stringi" ,r-stringi))) + (home-page + "https://trinker.github.com/qdapRegex/") + (synopsis + "Regular Expression Removal, Extraction, and Replacement Tools") + (description + "This package provides a collection of regular expression tools +associated with the @code{qdap} package that may be useful outside of the +context of discourse analysis. Tools include removal/extraction/replacement of +abbreviations, dates, dollar amounts, email addresses, hash tags, numbers, +percentages, citations, person tags, phone numbers, times, and zip codes.") + (license license:gpl2))) From 4bc1707dba0098d416cbe4b53a3077025a2cc422 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 09:20:07 +0100 Subject: [PATCH 0565/1003] gnu: Add r-mgsub. * gnu/packages/cran.scm (r-mgsub): New variable. --- gnu/packages/cran.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index c41d6d953d..af5055c392 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27379,3 +27379,27 @@ context of discourse analysis. Tools include removal/extraction/replacement of abbreviations, dates, dollar amounts, email addresses, hash tags, numbers, percentages, citations, person tags, phone numbers, times, and zip codes.") (license license:gpl2))) + +(define-public r-mgsub + (package + (name "r-mgsub") + (version "1.7.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "mgsub" version)) + (sha256 + (base32 + "02l1b96zv36ia0c97wgcwfhi037mbn3wy9c64hcw0n0w67yj77rr")))) + (properties `((upstream-name . "mgsub"))) + (build-system r-build-system) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page + "https://cran.r-project.org/package=mgsub") + (synopsis + "Safe, Multiple, Simultaneous String Substitution") + (description + "Designed to enable simultaneous substitution in strings in a safe +fashion. Safe means it does not rely on placeholders (which can cause errors +in same length matches).") + (license license:expat))) From ed48898931107767c0d404a031c7b34632db7a83 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 09:23:42 +0100 Subject: [PATCH 0566/1003] gnu: Add r-dtt. * gnu/packages/algebra.scm (r-dtt): New variable. --- gnu/packages/algebra.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 948f9bd42e..d2caa13d0e 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2020 Vinicius Monego +;;; Copyright © 2021 Lars-Dominik Braun ;;; ;;; This file is part of GNU Guix. ;;; @@ -63,6 +64,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system python) + #:use-module (guix build-system r) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix hg-download) @@ -1584,3 +1586,24 @@ general purpose; they require that p satisfy some preconditions based on the dimension of the input matrix (usually p should be prime and should be no more than about 20 bits long).") (license license:bsd-3))) + +(define-public r-dtt + (package + (name "r-dtt") + (version "0.1-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "dtt" version)) + (sha256 + (base32 + "0n8gj5iylfagdbaqirpykb01a9difsy4zl6qq55f0ghvazxqdvmn")))) + (properties `((upstream-name . "dtt"))) + (build-system r-build-system) + (home-page "http://www.r-project.org") + (synopsis "Discrete Trigonometric Transforms") + (description + "This package provides functions for 1D and 2D Discrete Cosine Transform +(@dfn{DCT}), Discrete Sine Transform (@dfn{DST}) and Discrete Hartley Transform +(@dfn{DHT}).") + (license license:gpl2+))) From d332c5c7f2dcf9e3562a411cff2fa43808a326a3 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 09:25:30 +0100 Subject: [PATCH 0567/1003] gnu: Add r-textshape. * gnu/packages/cran.scm (r-textshape): New variable. --- gnu/packages/cran.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index af5055c392..dd37ae0d6c 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27403,3 +27403,26 @@ percentages, citations, person tags, phone numbers, times, and zip codes.") fashion. Safe means it does not rely on placeholders (which can cause errors in same length matches).") (license license:expat))) + +(define-public r-textshape + (package + (name "r-textshape") + (version "1.7.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "textshape" version)) + (sha256 + (base32 + "02111kj3kka84mpx7s19bjna9cas8diw5fxz51v5ggz0ldswa5pa")))) + (properties `((upstream-name . "textshape"))) + (build-system r-build-system) + (propagated-inputs + `(("r-data-table" ,r-data-table) + ("r-slam" ,r-slam) + ("r-stringi" ,r-stringi))) + (home-page "http://github.com/trinker/textshape") + (synopsis "Tools for Reshaping Text") + (description + "Tools that can be used to reshape and restructure text data.") + (license license:gpl2))) From bc82567b0bd69e630ae82e77943d5726f0af9e36 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 09:28:28 +0100 Subject: [PATCH 0568/1003] gnu: Add r-syuzhet. * gnu/packages/cran.scm (r-syuzhet): New variable. --- gnu/packages/cran.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index dd37ae0d6c..6f8230278e 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27426,3 +27426,41 @@ in same length matches).") (description "Tools that can be used to reshape and restructure text data.") (license license:gpl2))) + +(define-public r-syuzhet + (package + (name "r-syuzhet") + (version "1.0.6") + (source + (origin + (method url-fetch) + (uri (cran-uri "syuzhet" version)) + (sha256 + (base32 + "16iccqdbw02iw82nah6kwz3gwfghi864j2y698n4b9dyc386ijzv")))) + (properties `((upstream-name . "syuzhet"))) + (build-system r-build-system) + (propagated-inputs + `(("r-dplyr" ,r-dplyr) + ("r-dtt" ,r-dtt) + ("r-nlp" ,r-nlp) + ("r-rlang" ,r-rlang) + ("r-textshape" ,r-textshape) + ("r-tidyr" ,r-tidyr) + ("r-zoo" ,r-zoo))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/mjockers/syuzhet") + (synopsis + "Extracts Sentiment and Sentiment-Derived Plot Arcs from Text") + (description + "Extracts sentiment and sentiment-derived plot arcs from text using a +variety of sentiment dictionaries conveniently packaged for consumption by R +users. Implemented dictionaries include @dfn{syuzhet} (default) developed in the +Nebraska Literary Lab, @dfn{afinn} developed by Finn Arup Nielsen, @dfn{bing} +developed by Minqing Hu and Bing Liu, and @dfn{nrc} developed by Mohammad, Saif +M. and Turney, Peter D. Applicable references are available in +@file{README.md} and in the documentation for the @code{get_sentiment} +function. The package also provides a hack for implementing Stanford's coreNLP +sentiment parser. The package provides several methods for plot arc +normalization.") + (license license:gpl3))) From c3a1373c15908b347cc580abf8522693d21923bb Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 09:36:14 +0100 Subject: [PATCH 0569/1003] gnu: Add r-lexicon. * gnu/packages/cran.scm (r-lexicon): New variable. --- gnu/packages/cran.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6f8230278e..f5ed504744 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27464,3 +27464,26 @@ function. The package also provides a hack for implementing Stanford's coreNLP sentiment parser. The package provides several methods for plot arc normalization.") (license license:gpl3))) + +(define-public r-lexicon + (package + (name "r-lexicon") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "lexicon" version)) + (sha256 + (base32 + "0x7rscsh6par2lj11sby7bmz41cxn63iiw51lgh29z09cg8j606c")))) + (properties `((upstream-name . "lexicon"))) + (build-system r-build-system) + (propagated-inputs + `(("r-data-table" ,r-data-table) + ("r-syuzhet" ,r-syuzhet))) + (home-page "https://github.com/trinker/lexicon") + (synopsis "Lexicons for Text Analysis") + (description + "This package provides a collection of lexical hash tables, dictionaries, +and word lists.") + (license license:gpl3))) From 584c868fbd6fe5fea5715e2938fc80ec14446502 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 09:38:23 +0100 Subject: [PATCH 0570/1003] gnu: Add r-english. * gnu/packages/cran.scm (r-english): New variable. --- gnu/packages/cran.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index f5ed504744..b8a57cdb28 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27487,3 +27487,26 @@ normalization.") "This package provides a collection of lexical hash tables, dictionaries, and word lists.") (license license:gpl3))) + +(define-public r-english + (package + (name "r-english") + (version "1.2-5") + (source + (origin + (method url-fetch) + (uri (cran-uri "english" version)) + (sha256 + (base32 + "0d6rin40wy2y6k75x8d5qvf03rfy139f309wrl8xwbdb1h8fjkd1")))) + (properties `((upstream-name . "english"))) + (build-system r-build-system) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page + "https://cran.r-project.org/package=english") + (synopsis "Translate Integers into English") + (description + "Allow numbers to be presented in an English language version, one, two, +three, ... Ordinals are also available, first, second, third, ... and +indefinite article choice, \"a\" or \"an\".") + (license license:gpl2))) From 804fad34e8e0f74483e987cfe5f6a496c1debe74 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 09:40:05 +0100 Subject: [PATCH 0571/1003] gnu: Add r-textclean. * gnu/packages/cran.scm (r-textclean): New variable. --- gnu/packages/cran.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b8a57cdb28..7f6003ac01 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27510,3 +27510,38 @@ and word lists.") three, ... Ordinals are also available, first, second, third, ... and indefinite article choice, \"a\" or \"an\".") (license license:gpl2))) + +(define-public r-textclean + (package + (name "r-textclean") + (version "0.9.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "textclean" version)) + (sha256 + (base32 + "0kgjh6c4f14qkjc4fds7q7rpf4nkma3p0igm54fplmm3p853nvrz")))) + (properties `((upstream-name . "textclean"))) + (build-system r-build-system) + (propagated-inputs + `(("r-data-table" ,r-data-table) + ("r-english" ,r-english) + ("r-glue" ,r-glue) + ("r-lexicon" ,r-lexicon) + ("r-mgsub" ,r-mgsub) + ("r-qdapregex" ,r-qdapregex) + ("r-stringi" ,r-stringi) + ("r-textshape" ,r-textshape))) + (home-page + "https://github.com/trinker/textclean") + (synopsis "Text Cleaning Tools") + (description + "Tools to clean and process text. Tools are geared at checking for +substrings that are not optimal for analysis and replacing or removing them +(normalizing) with more analysis friendly substrings (see Sproat, Black, Chen, +Kumar, Ostendorf, & Richards (2001) @url{doi:10.1006/csla.2001.0169}) or +extracting them into new variables. For example, emoticons are often used in +text but not always easily handled by analysis algorithms. The +@code{replace_emoticon()} function replaces emoticons with word equivalents.") + (license license:gpl2))) From e4150032027455ccf920e2f407754e93ca052dec Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 09:43:49 +0100 Subject: [PATCH 0572/1003] gnu: Add r-striprtf. * gnu/packages/cran.scm (r-striprtf): New variable. --- gnu/packages/cran.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 7f6003ac01..0ffc90488a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27545,3 +27545,26 @@ extracting them into new variables. For example, emoticons are often used in text but not always easily handled by analysis algorithms. The @code{replace_emoticon()} function replaces emoticons with word equivalents.") (license license:gpl2))) + +(define-public r-striprtf + (package + (name "r-striprtf") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "striprtf" version)) + (sha256 + (base32 + "1ra6aalalig6drsj26z9s24lmb10zssagqrvgqqi4358zbm8gwcd")))) + (properties `((upstream-name . "striprtf"))) + (build-system r-build-system) + (propagated-inputs + `(("r-magrittr" ,r-magrittr) + ("r-rcpp" ,r-rcpp) + ("r-stringr" ,r-stringr))) + (home-page "https://github.com/kota7/striprtf") + (synopsis "Extract Text from RTF File") + (description + "Extracts plain text from @dfn{Rich Text Format} (RTF) file.") + (license license:expat))) From ee4ba5427167aa44fc608557b2e888629c5b3926 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:05:24 +0100 Subject: [PATCH 0573/1003] gnu: gzstream: Add PIC flag. * gnu/packages/compression.scm (gzstream) [arguments]: Add phase 'use-pic. --- gnu/packages/compression.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 123d408e96..a3afcf41f4 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -27,7 +27,7 @@ ;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen ;;; Copyright © 2020 Björn Höfling ;;; Copyright © 2020 Arun Isaac -;;; Copyright © 2020 Lars-Dominik Braun +;;; Copyright © 2020, 2021 Lars-Dominik Braun ;;; Copyright © 2020 Guillaume Le Vaillant ;;; Copyright © 2020 Léo Le Bouter ;;; Copyright © 2021 Antoine Côté @@ -1224,6 +1224,12 @@ handles the 7z format which features very high compression ratios.") `(#:test-target "test" #:phases (modify-phases %standard-phases + ;; Enable PIC, so it can be used in shared libraries. + (add-after 'unpack 'use-pic + (lambda _ + (substitute* "Makefile" + (("CPPFLAGS = " all) (string-append all "-fPIC "))) + #t)) (delete 'configure) (replace 'install (lambda* (#:key outputs #:allow-other-keys) From a64e355ea680bff5f6047011d936e3a3576d62c9 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:06:08 +0100 Subject: [PATCH 0574/1003] gnu: Add r-ndjson. * gnu/packages/cran.scm (r-ndjson): New variable. --- gnu/packages/cran.scm | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 0ffc90488a..75c11c7af3 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27568,3 +27568,50 @@ text but not always easily handled by analysis algorithms. The (description "Extracts plain text from @dfn{Rich Text Format} (RTF) file.") (license license:expat))) + +(define-public r-ndjson + (package + (name "r-ndjson") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "ndjson" version)) + (sha256 + (base32 + "0lvzbgfi1sg4kya1mvv67z14qk3vz9q57x22qh57xq8ampdkg812")) + (modules '((guix build utils))) + (snippet + '(begin + ;; unvendor gzstream + (for-each delete-file '("src/gzstream.cpp" "src/gzstream.h")) + #t)))) + (properties `((upstream-name . "ndjson"))) + (build-system r-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'use-system-gzstream + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/Makevars" + (("PKG_LIBS = " all) + (string-append all "-lgzstream "))) + #t))))) + (inputs `(("zlib" ,zlib) ("gzstream" ,gzstream))) + (propagated-inputs + `(("r-data-table" ,r-data-table) + ("r-rcpp" ,r-rcpp) + ("r-tibble" ,r-tibble))) + (home-page "https://gitlab.com/hrbrmstr/ndjson") + (synopsis + "Wicked-Fast @dfn{Streaming JSON} (ndjson) Reader") + (description + "@dfn{Streaming JSON} (ndjson) has one JSON record per-line and many +modern ndjson files contain large numbers of records. These constructs may not +be columnar in nature, but it is often useful to read in these files and +\"flatten\" the structure out to enable working with the data in an R +@code{data.frame}-like context. Functions are provided that make it possible +to read in plain ndjson files or compressed (@code{gz}) ndjson files and either +validate the format of the records or create \"flat\" @code{data.table} +structures from them.") + (license license:expat))) From cb360afd66b8534b957a8fc9cbf87ce0f35f7e0c Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:10:46 +0100 Subject: [PATCH 0575/1003] gnu: Add r-streamr * gnu/packages/cran.scm (r-streamr): New variable. --- gnu/packages/cran.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 75c11c7af3..6bc6f77a8e 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27615,3 +27615,29 @@ to read in plain ndjson files or compressed (@code{gz}) ndjson files and either validate the format of the records or create \"flat\" @code{data.table} structures from them.") (license license:expat))) + +(define-public r-streamr + (package + (name "r-streamr") + (version "0.4.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "streamR" version)) + (sha256 + (base32 + "1clx3b0j2515r1nmnl6ki7qw5n54q3x2jvqv3zrc00kq71mlj7ix")))) + (properties `((upstream-name . "streamR"))) + (build-system r-build-system) + (propagated-inputs + `(("r-ndjson" ,r-ndjson) + ("r-rcurl" ,r-rcurl) + ("r-rjson" ,r-rjson))) + (home-page + "https://cran.r-project.org/package=streamR") + (synopsis + "Access to Twitter Streaming API via R") + (description + "This package provides functions to access Twitter's filter, sample, and +user streams, and to parse the output into data frames.") + (license license:gpl2))) From 03af89bd9efaeac35490b75fffb598dde302df12 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:13:07 +0100 Subject: [PATCH 0576/1003] gnu: Add r-readods. * gnu/packages/cran.scm (r-readods): New variable. --- gnu/packages/cran.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6bc6f77a8e..b6ee33170d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27641,3 +27641,30 @@ structures from them.") "This package provides functions to access Twitter's filter, sample, and user streams, and to parse the output into data frames.") (license license:gpl2))) + +(define-public r-readods + (package + (name "r-readods") + (version "1.7.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "readODS" version)) + (sha256 + (base32 + "1hi217ab7hp15jsbzi5ak57cqf8jn2rv78bnn74q72gn9mrfra7n")))) + (properties `((upstream-name . "readODS"))) + (build-system r-build-system) + (propagated-inputs + `(("r-cellranger" ,r-cellranger) + ("r-readr" ,r-readr) + ("r-stringi" ,r-stringi) + ("r-xml2" ,r-xml2))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page + "https://cran.r-project.org/package=readODS") + (synopsis "Read and Write ODS Files") + (description + "Import @dfn{OpenDocument Spreadsheet} (ODS) into R as a data frame. +Also support writing data frame into ODS file.") + (license license:gpl3))) From 52c70fb66ea82c8c4bbc555c361a42ebd839941c Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:19:00 +0100 Subject: [PATCH 0577/1003] gnu: Add r-qpdf. Cannot add to (gnu packages pdf) due to circular module dependency. * gnu/packages/cran.scm (r-qpdf): New variable. --- gnu/packages/cran.scm | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b6ee33170d..877396b996 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -91,6 +91,7 @@ #:use-module (gnu packages networking) #:use-module (gnu packages node) #:use-module (gnu packages pcre) + #:use-module (gnu packages pdf) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) ;libsndfile @@ -27668,3 +27669,49 @@ user streams, and to parse the output into data frames.") "Import @dfn{OpenDocument Spreadsheet} (ODS) into R as a data frame. Also support writing data frame into ODS file.") (license license:gpl3))) + +(define-public r-qpdf + (package + (name "r-qpdf") + (version "1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "qpdf" version)) + (sha256 + (base32 + "03lnfncw8qd1fwfyqh1mjvnsjr3b63wxbah0wp5g7z7gba90dwbi")) + (modules '((guix build utils))) + (snippet + '(begin + ;; unvendor libqpdf + (delete-file-recursively "src/libqpdf") + (delete-file-recursively "src/include/qpdf") + #t)))) + (properties `((upstream-name . "qpdf"))) + (build-system r-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda _ + (setenv "EXTERNAL_QPDF" "1") + #t))))) + (inputs + `(("zlib" ,zlib) + ("qpdf" ,qpdf))) + (propagated-inputs + `(("r-askpass" ,r-askpass) + ("r-curl" ,r-curl) + ("r-rcpp" ,r-rcpp))) + (native-inputs `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/ropensci/qpdf") + (synopsis + "Split, Combine and Compress PDF Files") + (description + "Content-preserving transformations transformations of PDF files such as +split, combine, and compress. This package interfaces directly to the +@code{qpdf} C++ API and does not require any command line utilities. Note that +@code{qpdf} does not read actual content from PDF files: to extract text and +data you need the @code{pdftools} package.") + (license license:asl2.0))) From 275b7987c0baf66bed2c64c044975b1c3719b22b Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:21:23 +0100 Subject: [PATCH 0578/1003] gnu: Add r-pdftools. * gnu/packages/cran.scm (r-pdftools): New variable. --- gnu/packages/cran.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 877396b996..f7d170ef63 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27715,3 +27715,33 @@ split, combine, and compress. This package interfaces directly to the @code{qpdf} does not read actual content from PDF files: to extract text and data you need the @code{pdftools} package.") (license license:asl2.0))) + +(define-public r-pdftools + (package + (name "r-pdftools") + (version "2.3.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "pdftools" version)) + (sha256 + (base32 + "01i5g2mjkshis0zlm7lrvi7kkzl4dn3if1hzwkgzf9n2mi33ndsx")))) + (properties `((upstream-name . "pdftools"))) + (build-system r-build-system) + (inputs + `(("zlib" ,zlib) + ("poppler" ,poppler))) + (propagated-inputs + `(("r-qpdf" ,r-qpdf) ("r-rcpp" ,r-rcpp))) + (native-inputs `(("pkg-config" ,pkg-config))) + (home-page + "https://docs.ropensci.org/pdftools/") + (synopsis + "Text Extraction, Rendering and Converting of PDF Documents") + (description + "Utilities based on @code{libpoppler} for extracting text, fonts, +attachments and metadata from a PDF file. Also supports high quality rendering +of PDF documents into PNG, JPEG, TIFF format, or into raw bitmap vectors for +further processing in R.") + (license license:expat))) From 6f688733b5597d7f2c9727d06a63f69a4329e1a2 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:24:07 +0100 Subject: [PATCH 0579/1003] gnu: Add r-antiword. * gnu/packages/cran.scm (r-antiword): New variable. --- gnu/packages/cran.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index f7d170ef63..6d95df6e62 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -100,6 +100,7 @@ #:use-module (gnu packages sqlite) #:use-module (gnu packages statistics) #:use-module (gnu packages tcl) + #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) #:use-module (gnu packages web) @@ -27745,3 +27746,44 @@ attachments and metadata from a PDF file. Also supports high quality rendering of PDF documents into PNG, JPEG, TIFF format, or into raw bitmap vectors for further processing in R.") (license license:expat))) + +(define-public r-antiword + (package + (name "r-antiword") + (version "1.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "antiword" version)) + (sha256 + (base32 + "034znb0g9wwb8gi1r3z75v3sbb4mh83qrc4y8mbfx5lbgh8zhj6j")) + (modules '((guix build utils))) + (snippet + '(begin + ;; unvendor libantiword + (delete-file-recursively "src") + #t)))) + (properties `((upstream-name . "antiword"))) + (build-system r-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'use-system-antiword + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "R/antiword.R" + (("system.file\\(\"bin\", package = \"antiword\"\\)") + (string-append "\"" (assoc-ref inputs "antiword") "/bin\""))) + #t))))) + (inputs `(("antiword" ,antiword))) + (propagated-inputs `(("r-sys" ,r-sys))) + (home-page + "https://github.com/ropensci/antiword#readme") + (synopsis + "Extract Text from Microsoft Word Documents") + (description + "Wraps the @code{AntiWord} utility to extract text from Microsoft Word +documents. The utility only supports the old @code{doc} format, not the new +xml based @code{docx} format. Use the @code{xml2} package to read the +latter.") + (license license:gpl2))) From 5d719fe6087a5412a0b17d0e0c113488b3329c32 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:29:26 +0100 Subject: [PATCH 0580/1003] gnu: Add r-readtext. * gnu/packages/cran.scm (r-readtext): New variable. --- gnu/packages/cran.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6d95df6e62..24eb22e638 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27787,3 +27787,42 @@ documents. The utility only supports the old @code{doc} format, not the new xml based @code{docx} format. Use the @code{xml2} package to read the latter.") (license license:gpl2))) + +(define-public r-readtext + (package + (name "r-readtext") + (version "0.80") + (source + (origin + (method url-fetch) + (uri (cran-uri "readtext" version)) + (sha256 + (base32 + "0q8ajnp99fwvh14ppkm2z3gqwdwmjrvxvsfb4q7ad0dhkqric05y")))) + (properties `((upstream-name . "readtext"))) + (build-system r-build-system) + (propagated-inputs + `(("r-antiword" ,r-antiword) + ("r-data-table" ,r-data-table) + ("r-digest" ,r-digest) + ("r-httr" ,r-httr) + ("r-jsonlite" ,r-jsonlite) + ("r-pdftools" ,r-pdftools) + ("r-readods" ,r-readods) + ("r-readxl" ,r-readxl) + ("r-streamr" ,r-streamr) + ("r-stringi" ,r-stringi) + ("r-striprtf" ,r-striprtf) + ("r-tibble" ,r-tibble) + ("r-xml2" ,r-xml2))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page + "https://github.com/quanteda/readtext") + (synopsis + "Import and Handling for Plain and Formatted Text Files") + (description + "This package provides functions for importing and handling text files +and formatted text files with additional meta-data, such including @code{.csv}, +@code{.tab}, @code{.json}, @code{.xml}, @code{.html}, @code{.pdf}, @code{.doc}, +@code{.docx}, @code{.rtf}, @code{.xls}, @code{.xlsx}, and others.") + (license license:gpl3))) From 5ce5e49c10b932743b730801632c5212ea8f7ed6 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:31:20 +0100 Subject: [PATCH 0581/1003] gnu: Add r-packcircles. * gnu/packages/cran.scm (r-packcircles): New variable. --- gnu/packages/cran.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 24eb22e638..89a7c4f0cc 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27826,3 +27826,25 @@ and formatted text files with additional meta-data, such including @code{.csv}, @code{.tab}, @code{.json}, @code{.xml}, @code{.html}, @code{.pdf}, @code{.doc}, @code{.docx}, @code{.rtf}, @code{.xls}, @code{.xlsx}, and others.") (license license:gpl3))) + +(define-public r-packcircles + (package + (name "r-packcircles") + (version "0.3.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "packcircles" version)) + (sha256 + (base32 + "05pv5c4k4njkr0xw6i6ksiy34hcyx2lbiqpv5gxw81yrkm0rxfyk")))) + (properties `((upstream-name . "packcircles"))) + (build-system r-build-system) + (propagated-inputs `(("r-rcpp" ,r-rcpp))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page + "https://github.com/mbedward/packcircles") + (synopsis "Circle Packing") + (description + "Algorithms to find arrangements of non-overlapping circles.") + (license license:expat))) From a1dd43e4cd35b6028beb1515960661ba0476dc61 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:35:20 +0100 Subject: [PATCH 0582/1003] gnu: Add r-lwgeom. * gnu/packages/cran.scm (r-lwgeom): New variable. --- gnu/packages/cran.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 89a7c4f0cc..39d11dd8ee 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27848,3 +27848,34 @@ and formatted text files with additional meta-data, such including @code{.csv}, (description "Algorithms to find arrangements of non-overlapping circles.") (license license:expat))) + +;; Cannot unbundle liblwgeom, because PostGIS does not support building it on +;; its own. +(define-public r-lwgeom + (package + (name "r-lwgeom") + (version "0.2-5") + (source + (origin + (method url-fetch) + (uri (cran-uri "lwgeom" version)) + (sha256 + (base32 + "0byhjqa2acns8mznl1ngnfygxxxyszvnq66qfg0smhhhdkwr67aa")))) + (properties `((upstream-name . "lwgeom"))) + (build-system r-build-system) + (inputs `(("geos" ,geos) ("proj" ,proj) ("sqlite" ,sqlite))) + (propagated-inputs + `(("r-rcpp" ,r-rcpp) + ("r-sf" ,r-sf) + ("r-units" ,r-units))) + (native-inputs `(("pkg-config" ,pkg-config))) + (home-page + "https://github.com/r-spatial/lwgeom/") + (synopsis + "Bindings to Selected 'liblwgeom' Functions for Simple Features") + (description + "Access to selected functions found in +@url{https://github.com/postgis/postgis/tree/master/liblwgeom,liblwgeom}, the +light-weight geometry library used by @url{http://postgis.net/,PostGIS}.") + (license license:gpl2))) From 82344f59363530a092f4bbaca809820b2077b5fe Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:37:18 +0100 Subject: [PATCH 0583/1003] gnu: Add r-stars. * gnu/packages/cran.scm (r-stars): New variable. --- gnu/packages/cran.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 39d11dd8ee..3581d51ee0 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27879,3 +27879,33 @@ and formatted text files with additional meta-data, such including @code{.csv}, @url{https://github.com/postgis/postgis/tree/master/liblwgeom,liblwgeom}, the light-weight geometry library used by @url{http://postgis.net/,PostGIS}.") (license license:gpl2))) + +(define-public r-stars + (package + (name "r-stars") + (version "0.5-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "stars" version)) + (sha256 + (base32 + "0ybk899rc0rpf2cv5kwk78fvis5xnr255hfcy5khdxsxdqgl0m9j")))) + (properties `((upstream-name . "stars"))) + (build-system r-build-system) + (propagated-inputs + `(("r-abind" ,r-abind) + ("r-classint" ,r-classint) + ("r-lwgeom" ,r-lwgeom) + ("r-rlang" ,r-rlang) + ("r-sf" ,r-sf) + ("r-units" ,r-units))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://r-spatial.github.io/stars/") + (synopsis + "Spatiotemporal Arrays, Raster and Vector Data Cubes") + (description + "Reading, manipulating, writing and plotting spatiotemporal arrays +(raster and vector data cubes) in @code{R}, using @code{GDAL} bindings provided +by @code{sf}, and @code{NetCDF} bindings by @code{ncmeta} and @code{RNetCDF}.") + (license license:asl2.0))) From 3095255b7bdb194479dbc58d6d51dff752b3352f Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:38:48 +0100 Subject: [PATCH 0584/1003] gnu: Add r-tmaptools. * gnu/packages/cran.scm (r-tmaptools): New variable. --- gnu/packages/cran.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 3581d51ee0..a539042a24 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27909,3 +27909,35 @@ light-weight geometry library used by @url{http://postgis.net/,PostGIS}.") (raster and vector data cubes) in @code{R}, using @code{GDAL} bindings provided by @code{sf}, and @code{NetCDF} bindings by @code{ncmeta} and @code{RNetCDF}.") (license license:asl2.0))) + +(define-public r-tmaptools + (package + (name "r-tmaptools") + (version "3.1-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "tmaptools" version)) + (sha256 + (base32 + "0bal3czrdr93qig8s5cf5szld5vjbbks67rismfhlkmlgw6wp2gx")))) + (properties `((upstream-name . "tmaptools"))) + (build-system r-build-system) + (propagated-inputs + `(("r-dichromat" ,r-dichromat) + ("r-lwgeom" ,r-lwgeom) + ("r-magrittr" ,r-magrittr) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-sf" ,r-sf) + ("r-stars" ,r-stars) + ("r-units" ,r-units) + ("r-viridislite" ,r-viridislite) + ("r-xml" ,r-xml))) + (home-page + "https://github.com/mtennekes/tmaptools") + (synopsis "Thematic Map Tools") + (description + "Set of tools for reading and processing spatial data. The aim is to +supply the workflow to create thematic maps. This package also facilitates +@code{tmap}, the package for visualizing thematic maps.") + (license license:gpl3))) From 83b6d7a33e559b688f34822ec7ef28d63ab28924 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:40:21 +0100 Subject: [PATCH 0585/1003] gnu: Add r-rworldmap. * gnu/packages/cran.scm (r-rworldmap): New variable. --- gnu/packages/cran.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index a539042a24..bd3c040d1d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27941,3 +27941,27 @@ by @code{sf}, and @code{NetCDF} bindings by @code{ncmeta} and @code{RNetCDF}.") supply the workflow to create thematic maps. This package also facilitates @code{tmap}, the package for visualizing thematic maps.") (license license:gpl3))) + +(define-public r-rworldmap + (package + (name "r-rworldmap") + (version "1.3-6") + (source + (origin + (method url-fetch) + (uri (cran-uri "rworldmap" version)) + (sha256 + (base32 + "1q1h0n9qr0m5pdx10swrh9ddsvdj8kv5nqngrf3lnx9rg9iwivjk")))) + (properties `((upstream-name . "rworldmap"))) + (build-system r-build-system) + (propagated-inputs + `(("r-fields" ,r-fields) + ("r-maptools" ,r-maptools) + ("r-sp" ,r-sp))) + (home-page + "https://github.com/AndySouth/rworldmap/") + (synopsis "Mapping Global Data") + (description + "Enables mapping of country level and gridded user datasets.") + (license license:gpl2+))) From 181e3c01282f9260a5ff868d15369521bedb3583 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:42:29 +0100 Subject: [PATCH 0586/1003] gnu: Add r-rtweet. * gnu/packages/cran.scm (r-rtweet): New variable. --- gnu/packages/cran.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index bd3c040d1d..37a13b4c1a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27965,3 +27965,34 @@ supply the workflow to create thematic maps. This package also facilitates (description "Enables mapping of country level and gridded user datasets.") (license license:gpl2+))) + +(define-public r-rtweet + (package + (name "r-rtweet") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "rtweet" version)) + (sha256 + (base32 + "05pbvxm2vmf6935b9s6663k3aifnkr3m52wh2jvnplmrwyrfpn9n")))) + (properties `((upstream-name . "rtweet"))) + (build-system r-build-system) + (propagated-inputs + `(("r-httpuv" ,r-httpuv) + ("r-httr" ,r-httr) + ("r-jsonlite" ,r-jsonlite) + ("r-magrittr" ,r-magrittr) + ("r-progress" ,r-progress) + ("r-rcpp" ,r-rcpp) + ("r-tibble" ,r-tibble))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page + "https://docs.ropensci.org/rtweet/") + (synopsis "Collecting Twitter Data") + (description + "An implementation of calls designed to collect and organize Twitter data +via @url{https://developer.twitter.com/en/docs,Twitter's REST and stream +Application Program Interfaces (API)}.") + (license license:expat))) From 32603dbba9a0ab03301b67591927f98fd1f7b2ba Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:46:39 +0100 Subject: [PATCH 0587/1003] gnu: Add r-intervals. * gnu/packages/cran.scm (r-intervals): New variable. --- gnu/packages/cran.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 37a13b4c1a..2fa16753d9 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27996,3 +27996,23 @@ supply the workflow to create thematic maps. This package also facilitates via @url{https://developer.twitter.com/en/docs,Twitter's REST and stream Application Program Interfaces (API)}.") (license license:expat))) + +(define-public r-intervals + (package + (name "r-intervals") + (version "0.15.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "intervals" version)) + (sha256 + (base32 + "0mvwfwc03ifb30a3dzbmkv9adwqb8ajxhcw24d8xip8px063plhb")))) + (properties `((upstream-name . "intervals"))) + (build-system r-build-system) + (home-page "https://github.com/edzer/intervals") + (synopsis + "Tools for Working with Points and Intervals") + (description + "Tools for working with and comparing sets of points and intervals.") + (license license:artistic2.0))) From 20fb147c9abbd60bea1c8d9e54b11b2b95e69970 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:47:48 +0100 Subject: [PATCH 0588/1003] gnu: Add r-eyelinker. * gnu/packages/cran.scm (r-eyelinker): New variable. --- gnu/packages/cran.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 2fa16753d9..66fd2c733d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -28016,3 +28016,32 @@ Application Program Interfaces (API)}.") (description "Tools for working with and comparing sets of points and intervals.") (license license:artistic2.0))) + +(define-public r-eyelinker + (package + (name "r-eyelinker") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "eyelinker" version)) + (sha256 + (base32 + "14rfcdxad9iazwd46q6bm8gg1ryh6s8kf7arj00hhb7xz3gvk9c2")))) + (properties `((upstream-name . "eyelinker"))) + (build-system r-build-system) + (propagated-inputs + `(("r-intervals" ,r-intervals) + ("r-readr" ,r-readr) + ("r-stringi" ,r-stringi) + ("r-stringr" ,r-stringr) + ("r-tibble" ,r-tibble))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page + "https://github.com/a-hurst/eyelinker") + (synopsis + "Import ASC Files from EyeLink Eye Trackers") + (description + "Imports plain-text ASC data files from EyeLink eye trackers into +(relatively) tidy data frames for analysis and visualization.") + (license license:gpl3))) From ca3913d1f8d0582236989e516dc61ed38eec6ed9 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:49:50 +0100 Subject: [PATCH 0589/1003] gnu: Add r-btm. * gnu/packages/cran.scm (r-btm): New variable. --- gnu/packages/cran.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 66fd2c733d..91cf7c550d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -28045,3 +28045,34 @@ Application Program Interfaces (API)}.") "Imports plain-text ASC data files from EyeLink eye trackers into (relatively) tidy data frames for analysis and visualization.") (license license:gpl3))) + +(define-public r-btm + (package + (name "r-btm") + (version "0.3.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "BTM" version)) + (sha256 + (base32 + "1x6bncb7r97z8bdyxnn2frdi9kyawfy6c2041mv9f42zdrfzm6jb")))) + (properties `((upstream-name . "BTM"))) + (build-system r-build-system) + (propagated-inputs `(("r-rcpp" ,r-rcpp))) + (home-page "https://github.com/bnosac/BTM") + (synopsis "Biterm Topic Models for Short Text") + (description + "Biterm Topic Models find topics in collections of short texts. It is a +word co-occurrence based topic model that learns topics by modeling word-word +co-occurrences patterns which are called biterms. This in contrast to +traditional topic models like Latent Dirichlet Allocation and Probabilistic +Latent Semantic Analysis which are word-document co-occurrence topic models. A +biterm consists of two words co-occurring in the same short text window. This +context window can for example be a twitter message, a short answer on a +survey, a sentence of a text or a document identifier. The techniques are +explained in detail in the paper 'A Biterm Topic Model For Short Text' by +Xiaohui Yan, Jiafeng Guo, Yanyan Lan, Xueqi Cheng (2013) +@url{https://github.com/xiaohuiyan/xiaohuiyan.github.io/blob/master/paper/\ +BTM-WWW13.pdf}.") + (license license:asl2.0))) From c3163fe6b4265d8626f1794c40abdfab39721104 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 15 Mar 2021 10:51:41 +0100 Subject: [PATCH 0590/1003] gnu: Add r-textplot. * gnu/packages/cran.scm (r-textplot): New variable. --- gnu/packages/cran.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 91cf7c550d..5854ff6031 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -28076,3 +28076,30 @@ Xiaohui Yan, Jiafeng Guo, Yanyan Lan, Xueqi Cheng (2013) @url{https://github.com/xiaohuiyan/xiaohuiyan.github.io/blob/master/paper/\ BTM-WWW13.pdf}.") (license license:asl2.0))) + +(define-public r-textplot + (package + (name "r-textplot") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "textplot" version)) + (sha256 + (base32 + "1sgkndy2cxk8c76h8hwajn6f78w5jj2n8vsmaxh9kj931crzn8cy")))) + (properties `((upstream-name . "textplot"))) + (build-system r-build-system) + (propagated-inputs + `(("r-data-table" ,r-data-table) + ("r-lattice" ,r-lattice) + ("r-matrix" ,r-matrix))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/bnosac/textplot") + (synopsis "Text Plots") + (description + "Visualise complex relations in texts. This is done by providing +functionalities for displaying text co-occurrence networks, text correlation +networks, dependency relationships as well as text clustering. Feel free to +join the effort of providing interesting text visualisations.") + (license license:gpl2))) From 714a8faa0469b4c79a0694f1451e7b1a6214d12f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 10:34:24 +0100 Subject: [PATCH 0591/1003] gnu: guile-email-latest: Update to 0.2.2-1.ca0520a. * gnu/packages/guile-xyz.scm (guile-email-latest): Update to 0.2.2-1.ca0520a. --- gnu/packages/guile-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 4799711c66..2e02f6f482 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1237,7 +1237,7 @@ format.") (license license:agpl3+))) (define-public guile-email-latest - (let ((commit "03e9cacb826bd4a56d3d834fe5526e497d7c57eb") + (let ((commit "ca0520a33c9042a68691d85c6849f88412ca8357") (revision "1")) (package (inherit guile-email) @@ -1252,7 +1252,7 @@ format.") (file-name (git-file-name name version)) (sha256 (base32 - "1a15gdlbmzx220xg82fgyd0zk2wqn13ddmzs13nhgfzx8d5cns68")))) + "1l5mikalawq83786rnb9zky908ncsd5dna9vyz6bx6kc2frrl7xv")))) (native-inputs `(("pkg-config" ,pkg-config) ("autoconf" ,autoconf) From 8b85aea49bc63355bffdf79a97effec6a0ba2f91 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 11:37:52 +0100 Subject: [PATCH 0592/1003] gnu: Add python-uncertainties. * gnu/packages/python-xyz.scm (python-uncertainties): New variable. --- gnu/packages/python-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 3535649c0d..b308948728 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -11558,6 +11558,34 @@ document.") manipulation library.") (license license:expat))) +(define-public python-uncertainties + (package + (name "python-uncertainties") + (version "3.1.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "uncertainties" version)) + (sha256 + (base32 + "00z9xl40czmqk0vmxjvmjvwb41r893l4dad7nj1nh6blw3kw28li")))) + (build-system python-build-system) + ;; While there are test files, there is no "tests" directory, so the tests + ;; fail. + (arguments '(#:tests? #false)) + (propagated-inputs + `(("python-future" ,python-future))) + (native-inputs + `(("python-nose" ,python-nose) + ("python-numpy" ,python-numpy))) + (home-page "https://uncertainties-python-package.readthedocs.io/") + (synopsis "Calculations with uncertainties") + (description + "The uncertainties package transparently handles calculations with +numbers with uncertainties. It can also yield the derivatives of any +expression.") + (license license:bsd-3))) + (define-public python-boto (package (name "python-boto") From 0bd166253a61f43763d488ba592c570bc6a558cd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 11:38:06 +0100 Subject: [PATCH 0593/1003] gnu: Add python-asteval. * gnu/packages/python-xyz.scm (python-asteval): New variable. --- gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index b308948728..9ae80bda6d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -11586,6 +11586,27 @@ numbers with uncertainties. It can also yield the derivatives of any expression.") (license license:bsd-3))) +(define-public python-asteval + (package + (name "python-asteval") + (version "0.9.23") + (source + (origin + (method url-fetch) + (uri (pypi-uri "asteval" version)) + (sha256 + (base32 + "0f54sd4w1a72ij1bcxs2x7dk9xf8bzclawijf1z18bqx9f96l2gm")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/newville/asteval") + (synopsis "Minimalistic evaluator of Python expressions") + (description + "This package provides a minimalistic evaluator of Python expression +using the @code{ast} module") + (license license:expat))) + (define-public python-boto (package (name "python-boto") From c20813bb08d19d424a5965da467599284adad8fc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 11:38:15 +0100 Subject: [PATCH 0594/1003] gnu: Add python-lmfit. * gnu/packages/python-xyz.scm (python-lmfit): New variable. --- gnu/packages/python-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 9ae80bda6d..a9fa391bb2 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -11607,6 +11607,36 @@ expression.") using the @code{ast} module") (license license:expat))) +(define-public python-lmfit + (package + (name "python-lmfit") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "lmfit" version)) + (sha256 + (base32 + "0iab33jjb60f8kn0k0cqb0vjp1mdskks2n3kpn97zkw5cvjhq2b7")))) + (build-system python-build-system) + (propagated-inputs + `(("python-asteval" ,python-asteval) + ("python-numpy" ,python-numpy) + ("python-scipy" ,python-scipy) + ("python-uncertainties" ,python-uncertainties))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://lmfit.github.io/lmfit-py/") + (synopsis "Least-Squares minimization with bounds and constraints") + (description + "Lmfit provides a high-level interface to non-linear optimization and +curve fitting problems for Python. It builds on and extends many of the +optimization methods of @code{scipy.optimize}. Initially inspired by (and +named for) extending the Levenberg-Marquardt method from +@code{scipy.optimize.leastsq}, lmfit now provides a number of useful +enhancements to optimization and data fitting problems.") + (license license:bsd-3))) + (define-public python-boto (package (name "python-boto") From ad34eb222c9ebc2b31f03b70ba6655ebe8ee74b5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 11:38:29 +0100 Subject: [PATCH 0595/1003] gnu: Add python-drep. * gnu/packages/bioinformatics.scm (python-drep): New variable. --- gnu/packages/bioinformatics.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index b2d10457fe..c629b79c39 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13147,6 +13147,36 @@ create connections between analogous cells in different batches without altering the counts or PCA space.") (license license:expat))) +(define-public python-drep + (package + (name "python-drep") + (version "3.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "drep" version)) + (sha256 + (base32 + "08vk0x6v5c5n7afgd5pcjhsvb424absypxy22hw1cm1n9kirbi77")))) + (build-system python-build-system) + (propagated-inputs + `(("python-biopython" ,python-biopython) + ("python-matplotlib" ,python-matplotlib) + ("python-numpy" ,python-numpy) + ("python-pandas" ,python-pandas) + ("python-pytest" ,python-pytest) + ("python-scikit-learn" ,python-scikit-learn) + ("python-seaborn" ,python-seaborn) + ("python-tqdm" ,python-tqdm))) + (home-page "https://github.com/MrOlm/drep") + (synopsis "De-replication of microbial genomes assembled from multiple samples") + (description + "dRep is a Python program for rapidly comparing large numbers of genomes. +dRep can also \"de-replicate\" a genome set by identifying groups of highly +similar genomes and choosing the best representative genome for each genome +set.") + (license license:expat))) + (define-public gffcompare (let ((commit "be56ef4349ea3966c12c6397f85e49e047361c41") (revision "1")) From 6e0ed09e687d9b8ae2cf2d01a9946b84bc8bf641 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 11:38:40 +0100 Subject: [PATCH 0596/1003] gnu: Add instrain. * gnu/packages/bioinformatics.scm (instrain): New variable. --- gnu/packages/bioinformatics.scm | 53 +++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index c629b79c39..b0736d32e4 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13177,6 +13177,59 @@ similar genomes and choosing the best representative genome for each genome set.") (license license:expat))) +(define-public instrain + (package + (name "instrain") + (version "1.5.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "inStrain" version)) + (sha256 + (base32 + "0ykqlpf6yz4caihsaz3ys00cyvlr7wdj4s9a8rh56q5r8xf80ic0")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-relative-imports + (lambda _ + (substitute* "docker/run_instrain.py" + (("from s3_utils") + "from .s3_utils") + (("from job_utils") + "from .job_utils"))))))) + (inputs + `(("python-biopython" ,python-biopython) + ("python-boto3" ,python-boto3) + ("python-h5py" ,python-h5py) + ("python-lmfit" ,python-lmfit) + ("python-matplotlib" ,python-matplotlib) + ("python-networkx" ,python-networkx) + ("python-numba" ,python-numba) + ("python-numpy" ,python-numpy) + ("python-pandas" ,python-pandas) + ("python-psutil" ,python-psutil) + ("python-pysam" ,python-pysam) + ("python-scikit-learn" ,python-scikit-learn) + ("python-seaborn" ,python-seaborn) + ("python-tqdm" ,python-tqdm) + ;; drep is needed for deprecated plot utilities + ("python-drep" ,python-drep))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/MrOlm/inStrain") + (synopsis "Calculation of strain-level metrics") + (description + "inStrain is a Python program for analysis of co-occurring genome +populations from metagenomes that allows highly accurate genome comparisons, +analysis of coverage, microdiversity, and linkage, and sensitive SNP detection +with gene localization and synonymous non-synonymous identification.") + ;; The tool itself says that the license is "MIT", but the repository + ;; contains a LICENSE file with the GPLv3. + ;; See https://github.com/MrOlm/inStrain/issues/51 + (license license:expat))) + (define-public gffcompare (let ((commit "be56ef4349ea3966c12c6397f85e49e047361c41") (revision "1")) From 21bc326b9a20eca7ae5b14569a8e173957eb3cd9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 11:57:56 +0100 Subject: [PATCH 0597/1003] gnu: guile-opengl: Fix linking with libGL.so. * gnu/packages/gl.scm (guile-opengl)[arguments]: Fix reference to libGL.so. --- gnu/packages/gl.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 5b4f5ec0fa..dec2835ca6 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014, 2016 David Thompson ;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver ;;; Copyright © 2016 Nikita -;;; Copyright © 2016, 2017, 2018, 2020 Ricardo Wurmus +;;; Copyright © 2016, 2017, 2018, 2020, 2021 Ricardo Wurmus ;;; Copyright © 2016 David Thompson ;;; Copyright © 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2017 Arun Isaac @@ -600,6 +600,11 @@ extension functionality is exposed in a single header file.") "godir = $(moddir)\n")))) (add-before 'build 'patch-dynamic-link (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "gl/runtime.scm" + (("\\(dynamic-link\\)") + (string-append "(dynamic-link \"" + (assoc-ref inputs "mesa") + "/lib/libGL.so" "\")"))) (define (dynamic-link-substitute file lib input) (substitute* file (("dynamic-link \"lib([a-zA-Z]+)\"" _ lib) From 1daedaa8646696783c88553e03035d547fd001ca Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 12:05:50 +0100 Subject: [PATCH 0598/1003] gnu: libusb-for-axoloti: Revert to 1.0.23. * gnu/packages/axoloti.scm (libusb-for-axoloti): Revert to 1.0.23, because the patch does not apply to the latest version. --- gnu/packages/axoloti.scm | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/gnu/packages/axoloti.scm b/gnu/packages/axoloti.scm index 2a5cf8e0fc..3049051486 100644 --- a/gnu/packages/axoloti.scm +++ b/gnu/packages/axoloti.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017, 2019 Ricardo Wurmus +;;; Copyright © 2016, 2017, 2019, 2020, 2021 Ricardo Wurmus ;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. @@ -39,14 +39,21 @@ #:use-module (gnu packages version-control) #:use-module (gnu packages xml)) +;; XXX The patch does not apply to libusb 1.0.24. +;; See https://github.com/axoloti/axoloti/issues/464 (define libusb-for-axoloti - (package (inherit libusb) - (name "axoloti-libusb") - (version (package-version libusb)) + (package + (inherit libusb) + (version "1.0.23") (source (origin - (inherit (package-source libusb)) - (patches (list (search-patch "libusb-for-axoloti.patch"))))))) + (method url-fetch) + (uri (string-append "https://github.com/libusb/libusb/" + "releases/download/v" version + "/libusb-" version ".tar.bz2")) + (sha256 + (base32 "13dd2a9x290d1q8nb1lqiaf36grcvns5ripk5k2xm0lajmpc04fv")) + (patches (list (search-patch "libusb-for-axoloti.patch"))))))) (define dfu-util-for-axoloti (package (inherit dfu-util) From 3eeb7dbf04b5ee3120b3ebcf264d54a56ad934e2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 12:15:18 +0100 Subject: [PATCH 0599/1003] gnu: r-gkmsvm: Move back to (gnu packages cran). * gnu/packages/bioconductor.scm (r-gkmsvm): Move this variable from here... * gnu/packages/cran.scm (r-gkmsvm): ...to here. --- gnu/packages/bioconductor.scm | 27 --------------------------- gnu/packages/cran.scm | 26 ++++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 526c2eecbb..4f8e0562b1 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -4042,33 +4042,6 @@ visualising metrics relative to experiment run time or spatially over the surface of a flowcell.") (license license:expat))) -;; This is a CRAN package, but it depends on packages from Bioconductor. -(define-public r-gkmsvm - (package - (name "r-gkmsvm") - (version "0.81.0") - (source - (origin - (method url-fetch) - (uri (cran-uri "gkmSVM" version)) - (sha256 - (base32 - "119g5rhc7ffyviz04r04aj5z1g6abnj3ddd01g7db505sdr6lapj")))) - (properties `((upstream-name . "gkmSVM"))) - (build-system r-build-system) - (propagated-inputs - `(("r-kernlab" ,r-kernlab) - ("r-rcpp" ,r-rcpp) - ("r-rocr" ,r-rocr) - ("r-seqinr" ,r-seqinr))) - (home-page "https://cran.r-project.org/web/packages/gkmSVM") - (synopsis "Gapped-kmer support vector machine") - (description - "This R package provides tools for training gapped-kmer SVM classifiers -for DNA and protein sequences. This package supports several sequence -kernels, including: gkmSVM, kmer-SVM, mismatch kernel and wildcard kernel.") - (license license:gpl2+))) - ;; This is a CRAN package, but it depends on multtest from Bioconductor. (define-public r-mutoss (package diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 5854ff6031..30c346d0c1 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -16471,6 +16471,32 @@ visualizations and provides the same flexible approach to building up plots layer by layer.") (license license:gpl3))) +(define-public r-gkmsvm + (package + (name "r-gkmsvm") + (version "0.81.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "gkmSVM" version)) + (sha256 + (base32 + "119g5rhc7ffyviz04r04aj5z1g6abnj3ddd01g7db505sdr6lapj")))) + (properties `((upstream-name . "gkmSVM"))) + (build-system r-build-system) + (propagated-inputs + `(("r-kernlab" ,r-kernlab) + ("r-rcpp" ,r-rcpp) + ("r-rocr" ,r-rocr) + ("r-seqinr" ,r-seqinr))) + (home-page "https://cran.r-project.org/web/packages/gkmSVM") + (synopsis "Gapped-kmer support vector machine") + (description + "This R package provides tools for training gapped-kmer SVM classifiers +for DNA and protein sequences. This package supports several sequence +kernels, including: gkmSVM, kmer-SVM, mismatch kernel and wildcard kernel.") + (license license:gpl2+))) + (define-public r-varselrf (package (name "r-varselrf") From 014fa5cc6b65fb64ce0641c21703aa57202e4170 Mon Sep 17 00:00:00 2001 From: Tanguy Le Carrour Date: Fri, 12 Mar 2021 08:50:19 +0100 Subject: [PATCH 0600/1003] gnu: python-poetry-core: Update to 1.0.2. * gnu/packages/python-build.scm (python-poetry-core): Update to 1.0.2. Signed-off-by: Christopher Baines --- gnu/packages/python-build.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm index 1ce6a3095a..259fe163b5 100644 --- a/gnu/packages/python-build.scm +++ b/gnu/packages/python-build.scm @@ -142,13 +142,13 @@ order to make bootstrapping easier.") (define-public python-poetry-core (package (name "python-poetry-core") - (version "1.0.0") + (version "1.0.2") (source (origin (method url-fetch) (uri (pypi-uri "poetry-core" version)) (sha256 - (base32 "1mgv276h1iphn5fqhp2sgkgd5d0c39hs33vgaf157x5ri7rlyrka")))) + (base32 "0wgfc51dgymnfg23mvsxl4iqbdrppysxi4s3z3xhzx3cd9jmsl7z")))) (build-system python-build-system) (home-page "https://github.com/python-poetry/poetry-core") (synopsis "Poetry PEP 517 build back-end") From 3e83e99322cbcc697fea1e085ba2416fa6854348 Mon Sep 17 00:00:00 2001 From: Tanguy Le Carrour Date: Fri, 12 Mar 2021 08:50:20 +0100 Subject: [PATCH 0601/1003] gnu: poetry: Update to 1.1.5. * gnu/packages/python-xyz.scm (poetry): Update to 1.1.5. Signed-off-by: Christopher Baines --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index a9fa391bb2..2114503ff3 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -13614,7 +13614,7 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.") (define-public poetry (package (name "poetry") - (version "1.1.4") + (version "1.1.5") ;; Poetry can only be built from source with Poetry. (source (origin @@ -13622,7 +13622,7 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.") (uri (pypi-uri "poetry" version)) (sha256 (base32 - "1a2kgfiw66fvxhlqk5qc83s6l38czfh5hcsrbiy7qq5yfc8mlsll")))) + "1dvx08ksv5wnsj45db23921rj136akmcnxa0kmlsddf3wbh6wcka")))) (build-system python-build-system) (arguments `(#:tests? #f ;; Pypi does not have tests. From cddf0b8955393d0e656d0708e43ca338c3fe91b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Mon, 15 Mar 2021 12:19:40 +0100 Subject: [PATCH 0602/1003] gnu: unzip/fixed: Make private. * gnu/packages/compression.scm (unzip/fixed): Use define instead of define-public. --- gnu/packages/compression.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index a3afcf41f4..827ad43dc2 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1636,7 +1636,7 @@ recreates the stored directory structure by default.") (license (license:non-copyleft "file://LICENSE" "See LICENSE in the distribution.")))) -(define-public unzip/fixed +(define unzip/fixed (package (inherit unzip) (version "6.0") From 8a085c178095d0ed204b6263deb6fc275b651ee1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Mon, 15 Mar 2021 12:21:02 +0100 Subject: [PATCH 0603/1003] gnu: cyrus-sasl/fixed: Make private. * gnu/packages/cyrus-sasl.scm (cyrus-sasl/fixed): Use define instead of define-public. --- gnu/packages/cyrus-sasl.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/cyrus-sasl.scm b/gnu/packages/cyrus-sasl.scm index 691349a38f..c18703fde0 100644 --- a/gnu/packages/cyrus-sasl.scm +++ b/gnu/packages/cyrus-sasl.scm @@ -82,7 +82,7 @@ server writers.") "See COPYING in the distribution.")) (home-page "https://cyrusimap.org/sasl/"))) -(define-public cyrus-sasl/fixed +(define cyrus-sasl/fixed (package (inherit cyrus-sasl) (version "2.1.27") From 309642888981def98fef2ce66b06e22a860adcb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Mon, 15 Mar 2021 12:21:41 +0100 Subject: [PATCH 0604/1003] gnu: libcroco/fixed: Make private. * gnu/packages/gnome.scm (libcroco/fixed): Use define instead of define-public. --- gnu/packages/gnome.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index af8722a02e..db7941bb98 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3246,7 +3246,7 @@ XML/CSS rendering engine.") ;; LGPLv2.1-only. (license license:lgpl2.1))) -(define-public libcroco/fixed +(define libcroco/fixed (package (inherit libcroco) (name "libcroco") From 1ed435bf394eee1a6cd9c354efb405920c212f0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Mon, 15 Mar 2021 12:51:54 +0100 Subject: [PATCH 0605/1003] gnu: python-sphobjinv: Fix build. * gnu/packages/sphinx.scm (python-sphobjinv): [patches]: Remove. [propagated-inputs]: Add (uncomment) python-certifi. --- gnu/packages/sphinx.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index 1704cbce59..e85e4a0f7e 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -44,6 +44,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages python-build) + #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages time)) @@ -736,12 +737,11 @@ executed during the Sphinx build process.") (uri (pypi-uri "sphobjinv" version)) (sha256 (base32 - "126lgm54c94ay3fci512ap4l607gak90pbz0fk98syxvj5izrrzx")) - (patches (search-patches "python-sphobjinv-system-ca.patch")))) + "126lgm54c94ay3fci512ap4l607gak90pbz0fk98syxvj5izrrzx")))) (build-system python-build-system) (propagated-inputs `(("python-attrs" ,python-attrs) - ;("python-certifi" ,python-certifi) + ("python-certifi" ,python-certifi) ("python-fuzzywuzzy" ,python-fuzzywuzzy) ("python-jsonschema" ,python-jsonschema) ("python-levenshtein" ,python-levenshtein))) From 78373e394dc1d0e04d76c491767ffa527920f3b3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:36:57 +0100 Subject: [PATCH 0606/1003] gnu: Add r-spatstat-sparse. * gnu/packages/cran.scm (r-spatstat-sparse): New variable. --- gnu/packages/cran.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 30c346d0c1..6ae746a093 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -24809,6 +24809,33 @@ diagonals. This package allows you to compute the tensor product of arrays.") which may also be useful for other purposes.") (license license:gpl2+))) +(define-public r-spatstat-sparse + (package + (name "r-spatstat-sparse") + (version "1.2-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "spatstat.sparse" version)) + (sha256 + (base32 + "1w312q7gxzchigxxzk9akscdsz66j5085lgjryamschjgp4f8yk2")))) + (properties + `((upstream-name . "spatstat.sparse"))) + (build-system r-build-system) + (propagated-inputs + `(("r-abind" ,r-abind) + ("r-matrix" ,r-matrix) + ("r-spatstat-utils" ,r-spatstat-utils) + ("r-tensor" ,r-tensor))) + (home-page "http://spatstat.org/") + (synopsis "Sparse three-dimensional arrays and linear algebra utilities") + (description + "This package defines sparse three-dimensional arrays and supports +standard operations on them. The package also includes utility functions for +matrix calculations that are common in statistics, such as quadratic forms.") + (license license:gpl2+))) + (define-public r-spatstat-data (package (name "r-spatstat-data") From ddfe3f77a9354c166bdb6b09ae87e62a4c533eba Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:39:00 +0100 Subject: [PATCH 0607/1003] gnu: Add r-spatstat-geom. * gnu/packages/cran.scm (r-spatstat-geom): New variable. --- gnu/packages/cran.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6ae746a093..c70c734a8c 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -24859,6 +24859,33 @@ matrix calculations that are common in statistics, such as quadratic forms.") package.") (license license:gpl2+))) +(define-public r-spatstat-geom + (package + (name "r-spatstat-geom") + (version "1.65-5") + (source + (origin + (method url-fetch) + (uri (cran-uri "spatstat.geom" version)) + (sha256 + (base32 + "0g0m5b3nbzpyblbp77n56k6aiw3fn23jkk72h9fhqlg1ydn2fzpk")))) + (properties `((upstream-name . "spatstat.geom"))) + (build-system r-build-system) + (propagated-inputs + `(("r-deldir" ,r-deldir) + ("r-polyclip" ,r-polyclip) + ("r-spatstat-data" ,r-spatstat-data) + ("r-spatstat-sparse" ,r-spatstat-sparse) + ("r-spatstat-utils" ,r-spatstat-utils))) + (home-page "http://spatstat.org/") + (synopsis "Geometrical functionality of the spatstat package") + (description + "This is a subset of the original spatstat package, containing the +user-level code from spatstat which performs geometrical operations, except +for the geometry of linear networks.") + (license license:gpl2+))) + (define-public r-spatstat (package (name "r-spatstat") From 3ebae705f993098a688eff88c07e75e52f5e67a6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:39:25 +0100 Subject: [PATCH 0608/1003] gnu: Add r-spatstat-core. * gnu/packages/cran.scm (r-spatstat-core): New variable. --- gnu/packages/cran.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index c70c734a8c..5bc47ef53b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -24886,6 +24886,38 @@ user-level code from spatstat which performs geometrical operations, except for the geometry of linear networks.") (license license:gpl2+))) +(define-public r-spatstat-core + (package + (name "r-spatstat-core") + (version "1.65-5") + (source + (origin + (method url-fetch) + (uri (cran-uri "spatstat.core" version)) + (sha256 + (base32 + "0wq61sd53hwyk3fzjdc2prrr66n67zbwb5i3ii7kvyhfwx0xikm3")))) + (properties `((upstream-name . "spatstat.core"))) + (build-system r-build-system) + (propagated-inputs + `(("r-abind" ,r-abind) + ("r-goftest" ,r-goftest) + ("r-matrix" ,r-matrix) + ("r-mgcv" ,r-mgcv) + ("r-nlme" ,r-nlme) + ("r-rpart" ,r-rpart) + ("r-spatstat-data" ,r-spatstat-data) + ("r-spatstat-geom" ,r-spatstat-geom) + ("r-spatstat-sparse" ,r-spatstat-sparse) + ("r-spatstat-utils" ,r-spatstat-utils) + ("r-tensor" ,r-tensor))) + (home-page "http://spatstat.org/") + (synopsis "Core functionality of the spatstat package") + (description + "This is a subset of the original spatstat package, containing all of the +user-level code from spatstat, except for the code for linear networks.") + (license license:gpl2+))) + (define-public r-spatstat (package (name "r-spatstat") From e1240e22f5b5029f2eab4ebc295e15336eb1927e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:39:48 +0100 Subject: [PATCH 0609/1003] gnu: Add r-spatstat-linnet. * gnu/packages/cran.scm (r-spatstat-linnet): New variable. --- gnu/packages/cran.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 5bc47ef53b..7cb8ef2dda 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -24918,6 +24918,33 @@ for the geometry of linear networks.") user-level code from spatstat, except for the code for linear networks.") (license license:gpl2+))) +(define-public r-spatstat-linnet + (package + (name "r-spatstat-linnet") + (version "1.65-3") + (source + (origin + (method url-fetch) + (uri (cran-uri "spatstat.linnet" version)) + (sha256 + (base32 + "1y088r26h5yv006ydgcb4iwpvnc7ql857gky0hbi7xqqciqr8wdv")))) + (properties + `((upstream-name . "spatstat.linnet"))) + (build-system r-build-system) + (propagated-inputs + `(("r-matrix" ,r-matrix) + ("r-spatstat-core" ,r-spatstat-core) + ("r-spatstat-data" ,r-spatstat-data) + ("r-spatstat-geom" ,r-spatstat-geom) + ("r-spatstat-utils" ,r-spatstat-utils))) + (home-page "http://spatstat.org/") + (synopsis "Linear networks functionality of the spatstat package") + (description + "This is a subset of the spatstat package, containing its functionality +for spatial data on a linear network.") + (license license:gpl2+))) + (define-public r-spatstat (package (name "r-spatstat") From 7bdef3789d1fa291ab00184150076f0275d2cd32 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:41:02 +0100 Subject: [PATCH 0610/1003] gnu: r-zoo: Update to 1.8-9. * gnu/packages/cran.scm (r-zoo): Update to 1.8-9. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 7cb8ef2dda..f2bee30f7c 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -343,13 +343,13 @@ the system clipboards.") (define-public r-zoo (package (name "r-zoo") - (version "1.8-8") + (version "1.8-9") (source (origin (method url-fetch) (uri (cran-uri "zoo" version)) (sha256 (base32 - "1rrw431jwaxd9xljp73f15rhcxvwc0xlyrmr0ghi5fj7a03c932f")))) + "18vjywalpgzqyk66gajb8x1yp8avdaaf11ykynld9fd8cy82bgmp")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) From 172da782db4cc161af05df2a82d057d53bb6fff1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:41:08 +0100 Subject: [PATCH 0611/1003] gnu: r-rvest: Update to 1.0.0. * gnu/packages/cran.scm (r-rvest): Update to 1.0.0. [propagated-inputs]: Add r-lifecycle, r-rlang, and r-tibble. --- gnu/packages/cran.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index f2bee30f7c..6ef25cb61e 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -873,18 +873,21 @@ single step.") (define-public r-rvest (package (name "r-rvest") - (version "0.3.6") + (version "1.0.0") (source (origin (method url-fetch) (uri (cran-uri "rvest" version)) (sha256 - (base32 "1yh2p429a0zr8pqmlw5rzf6m797j20j5w6xwxlqq0wrdbnif6bka")))) + (base32 "04spcv6nxlmx5bxncq0vybfqrs8jgjamzyrn6wmkdcwii8jvyn53")))) (build-system r-build-system) (propagated-inputs `(("r-httr" ,r-httr) + ("r-lifecycle" ,r-lifecycle) ("r-magrittr" ,r-magrittr) + ("r-rlang" ,r-rlang) ("r-selectr" ,r-selectr) + ("r-tibble" ,r-tibble) ("r-xml2" ,r-xml2))) (native-inputs `(("r-knitr" ,r-knitr))) From bfa09fd922b25e3c3793d9242bcaac2107c98a16 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:41:12 +0100 Subject: [PATCH 0612/1003] gnu: r-lava: Update to 1.6.9. * gnu/packages/cran.scm (r-lava): Update to 1.6.9. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6ef25cb61e..5df2bbf011 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3891,14 +3891,14 @@ available in a vignette.") (define-public r-lava (package (name "r-lava") - (version "1.6.8.1") + (version "1.6.9") (source (origin (method url-fetch) (uri (cran-uri "lava" version)) (sha256 (base32 - "1yiz8y3jhxkszgz9m9fialp9r27hy97xh0imfvs8ziv7dk43y93d")))) + "07difbrz8zmvdyns63958v0zw4hyv48956mcww8zh7064a564k83")))) (build-system r-build-system) (propagated-inputs `(("r-numderiv" ,r-numderiv) From 70257ad2c03a6d7dc81418f9b0a0f8ed20c8b86a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:41:15 +0100 Subject: [PATCH 0613/1003] gnu: r-ipred: Update to 0.9-11. * gnu/packages/cran.scm (r-ipred): Update to 0.9-11. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 5df2bbf011..6c033f361a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4219,14 +4219,14 @@ provided.") (define-public r-ipred (package (name "r-ipred") - (version "0.9-10") + (version "0.9-11") (source (origin (method url-fetch) (uri (cran-uri "ipred" version)) (sha256 (base32 - "0p9cd2v47h71jbz8q0z6xykkaqpcp0mkpsfmd2bn961n1hfgpa63")))) + "04hfg27c72v0fz4091w3rgbc2vd7g6yl78y9plvsvh0vjlx8ymmp")))) (build-system r-build-system) (propagated-inputs `(("r-class" ,r-class) From d163c71e0a828674dd8e140c47467acbab5c43b4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:41:18 +0100 Subject: [PATCH 0614/1003] gnu: r-xfun: Update to 0.22. * gnu/packages/cran.scm (r-xfun): Update to 0.22. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6c033f361a..e120c613b1 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5282,13 +5282,13 @@ iVAT).") (define-public r-xfun (package (name "r-xfun") - (version "0.21") + (version "0.22") (source (origin (method url-fetch) (uri (cran-uri "xfun" version)) (sha256 - (base32 "18qjs81fn8q2d2drcan8gpgvrbgxgd0b659c92z19kg2h4c1g3k4")))) + (base32 "0ix3p0iw2c60whn5mvsflh0vhm4yixhw4s9d9v4023qhp077nw9y")))) (build-system r-build-system) ;; knitr itself depends on xfun #; From 87d3f805b9494c7ac4cabe4f2ded0c8141a14629 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:41:22 +0100 Subject: [PATCH 0615/1003] gnu: r-utf8: Update to 1.2.1. * gnu/packages/cran.scm (r-utf8): Update to 1.2.1. [native-inputs]: Add r-knitr. --- gnu/packages/cran.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index e120c613b1..94218d0933 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5304,15 +5304,17 @@ packages maintained by Yihui Xie.") (define-public r-utf8 (package (name "r-utf8") - (version "1.1.4") + (version "1.2.1") (source (origin (method url-fetch) (uri (cran-uri "utf8" version)) (sha256 (base32 - "0m0ywg8k3blfiahxvh1i4zn9dksrlc937d2lbza5fc38zjnrrnpn")))) + "1yw7vjn3gpkqddc91rbfh4kk0zmn2kp0jycrd3066sissh01jhdk")))) (build-system r-build-system) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/patperry/r-utf8") (synopsis "Unicode text processing") (description From 77e5a20c43e90328d8576087fe9e34859370f3f0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:41:25 +0100 Subject: [PATCH 0616/1003] gnu: r-maptools: Update to 1.1-1. * gnu/packages/cran.scm (r-maptools): Update to 1.1-1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 94218d0933..fb6c1cc7a4 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -6911,14 +6911,14 @@ simple method for converting between file types.") (define-public r-maptools (package (name "r-maptools") - (version "1.0-2") + (version "1.1-1") (source (origin (method url-fetch) (uri (cran-uri "maptools" version)) (sha256 (base32 - "0jgf3wg47jdnznxb3ncv4is9ackwviy4lzcyggqwzw3wh6jnvb6s")))) + "0pn4gwh2rl6pfh2vbc7ln86kzlg22cfpd02z95j7zpjidz2mva8l")))) (build-system r-build-system) (propagated-inputs `(("r-foreign" ,r-foreign) From 796a2241e302be0bff02fd10d2cf71ef33e642ca Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:41:29 +0100 Subject: [PATCH 0617/1003] gnu: r-flextable: Update to 0.6.4. * gnu/packages/cran.scm (r-flextable): Update to 0.6.4. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index fb6c1cc7a4..ce15619125 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -8330,14 +8330,14 @@ functions.") (define-public r-flextable (package (name "r-flextable") - (version "0.6.3") + (version "0.6.4") (source (origin (method url-fetch) (uri (cran-uri "flextable" version)) (sha256 (base32 - "0as80m19lvajc0vzllq9d9p63zglsm2ph7vdfg3jgk90jp8j76dg")))) + "1ykjfnqhn8nd9f3l4jj8hf1bbjjckkna3p7fdsg0a73c05a17yma")))) (build-system r-build-system) (propagated-inputs `(("r-base64enc" ,r-base64enc) From dfa052bbc9b4168d1797ba1ae1ff951a1a3c8bf3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:41:32 +0100 Subject: [PATCH 0618/1003] gnu: r-blockfest: Update to 2.0. * gnu/packages/cran.scm (r-blockfest): Update to 2.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ce15619125..759951bc41 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -8664,14 +8664,14 @@ procedures to speed up calculations in R.") (define-public r-blockfest (package (name "r-blockfest") - (version "1.8") + (version "2.0") (source (origin (method url-fetch) (uri (cran-uri "BlockFeST" version)) (sha256 (base32 - "12cbrmgqszlj729zrn9d1d7drbr0iay43knnmrzcxs6v7lfszsx5")))) + "1fcl3yc1cf09znqbj787d3fd2kl5rp63la7pxawsgmap7nxwkp65")))) (properties `((upstream-name . "BlockFeST"))) (build-system r-build-system) (propagated-inputs `(("r-basix" ,r-basix))) From b5aa552e6376cfc38809f9acce09e1ddf3cff032 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:41:35 +0100 Subject: [PATCH 0619/1003] gnu: r-magick: Update to 2.7.0. * gnu/packages/cran.scm (r-magick): Update to 2.7.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 759951bc41..837469ae02 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -9691,14 +9691,14 @@ samples is large and the number of mixture components is not too large.") (define-public r-magick (package (name "r-magick") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) (uri (cran-uri "magick" version)) (sha256 (base32 - "1k4fqhxh2ppynl56fs044wpn4wk6gbv6lwp2x4x7j67zwcv56n36")))) + "0m1kij6pp7dmsrhl80h60iyccjqmbbb3zdnqdc9sgy1kj1x3pscp")))) (build-system r-build-system) (inputs `(("imagemagick" ,imagemagick) From ecd03401c6c18f7487a4f4abb5adf07a23db14a0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:41:38 +0100 Subject: [PATCH 0620/1003] gnu: r-effectsize: Update to 0.4.4. * gnu/packages/cran.scm (r-effectsize): Update to 0.4.4. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 837469ae02..c67769023c 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -10453,14 +10453,14 @@ results using @code{ggplot2}.") (define-public r-effectsize (package (name "r-effectsize") - (version "0.4.3") + (version "0.4.4") (source (origin (method url-fetch) (uri (cran-uri "effectsize" version)) (sha256 (base32 - "1hcrnax9wf0nwsb8nv15rxw8yy8w5dak16dw3w5bxi8xnf56lkz2")))) + "0mgkq12ym72ncakkjpkzkjglhksyhj3iw8v4a8fjgpf7prvn191g")))) (properties `((upstream-name . "effectsize"))) (build-system r-build-system) (propagated-inputs From dae999bc48c8d0ac8853cb13550250645ce0f27b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:41:41 +0100 Subject: [PATCH 0621/1003] gnu: r-parallelly: Update to 1.24.0. * gnu/packages/cran.scm (r-parallelly): Update to 1.24.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index c67769023c..4196a895cf 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -13701,14 +13701,14 @@ them in distributed compute environments.") (define-public r-parallelly (package (name "r-parallelly") - (version "1.23.0") + (version "1.24.0") (source (origin (method url-fetch) (uri (cran-uri "parallelly" version)) (sha256 (base32 - "025whcz55wj9jd73dalkbxh4l2331mqn758glr6hlf472lwf4v1p")))) + "1x04pxcyyzmg1rl9mcd7mmxglzmxgy40fmbwpy7vf5y7z15rzrp6")))) (properties `((upstream-name . "parallelly"))) (build-system r-build-system) (home-page "https://github.com/HenrikBengtsson/parallelly") From 58a2c438d3b420da1a4d84e165937283c5e143a7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:41:45 +0100 Subject: [PATCH 0622/1003] gnu: r-lavaan: Update to 0.6-8. * gnu/packages/cran.scm (r-lavaan): Update to 0.6-8. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 4196a895cf..bf02a8fd49 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -14449,14 +14449,14 @@ probabilities from a standard bivariate normal CDF.") (define-public r-lavaan (package (name "r-lavaan") - (version "0.6-7") + (version "0.6-8") (source (origin (method url-fetch) (uri (cran-uri "lavaan" version)) (sha256 (base32 - "0ks62wrwghbm1brzmqvr92h5n1295dpc87m1g3xrfx0mkdaqdcdk")))) + "18l49f1v7nrngwra4v983ic8w1d4w23ws8xf36337dq0j6809qj0")))) (build-system r-build-system) (propagated-inputs `(("r-mass" ,r-mass) From 7bd5a643032e04fd662a1b2f24730c8121545681 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:41:48 +0100 Subject: [PATCH 0623/1003] gnu: r-forecast: Update to 8.14. * gnu/packages/cran.scm (r-forecast): Update to 8.14. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index bf02a8fd49..39db6a00e1 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -21892,14 +21892,14 @@ Raftery, Appl.Statistics, 1989); it includes inference and basic methods.") (define-public r-forecast (package (name "r-forecast") - (version "8.13") + (version "8.14") (source (origin (method url-fetch) (uri (cran-uri "forecast" version)) (sha256 (base32 - "0vrql5d4v28890np2m6ws1nr1fcl6frs1bz74vfkihkixcmkl3j9")))) + "12bfw029xb1dndcjyn2r7a51i7hnkkbdilp69k97sz2v8b7v1y3s")))) (properties `((upstream-name . "forecast"))) (build-system r-build-system) (propagated-inputs From b0036b407c9a4db895f9e65e3b858e0f26f85b45 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:41:51 +0100 Subject: [PATCH 0624/1003] gnu: r-brms: Update to 2.15.0. * gnu/packages/cran.scm (r-brms): Update to 2.15.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 39db6a00e1..ee4528a7b3 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -24118,14 +24118,14 @@ vignette for more information and examples.") (define-public r-brms (package (name "r-brms") - (version "2.14.4") + (version "2.15.0") (source (origin (method url-fetch) (uri (cran-uri "brms" version)) (sha256 (base32 - "0mzwihhgmn405l6zq11a180q4k3chggj9qj0j7q838b9vrszg59j")))) + "0byc3fyvf9qbvvgwf55ih5d4br1nnxlbaidq9fvr11bmv38h25y1")))) (properties `((upstream-name . "brms"))) (build-system r-build-system) (propagated-inputs From e4d4046999304a3693da80cf0fdfe5fd5753b2b7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:41:56 +0100 Subject: [PATCH 0625/1003] gnu: r-spatstat: Update to 2.0-1. * gnu/packages/cran.scm (r-spatstat): Update to 2.0-1. [propagated-inputs]: Remove r-abind, r-deldir, r-goftest, r-matrix, r-mgcv, r-nlme, r-polyclip, r-rpart, and r-tensor; add r-spatstat-core, r-spatstat-geom, and r-spatstat-linnet. --- gnu/packages/cran.scm | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ee4528a7b3..ffba66e80e 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -24953,28 +24953,22 @@ for spatial data on a linear network.") (define-public r-spatstat (package (name "r-spatstat") - (version "1.64-1") + (version "2.0-1") (source (origin (method url-fetch) (uri (cran-uri "spatstat" version)) (sha256 (base32 - "06jmxfs9kz9qqi3ichfgn8dglwb87kq2nl578p83za5psv8cfgya")))) + "1xq11ijc0d0lbixxb3wnvyr4gplfj2d2i64ynsa089xd525zzzbw")))) (properties `((upstream-name . "spatstat"))) (build-system r-build-system) (propagated-inputs - `(("r-abind" ,r-abind) - ("r-deldir" ,r-deldir) - ("r-goftest" ,r-goftest) - ("r-matrix" ,r-matrix) - ("r-mgcv" ,r-mgcv) - ("r-nlme" ,r-nlme) - ("r-polyclip" ,r-polyclip) - ("r-rpart" ,r-rpart) + `(("r-spatstat-core" ,r-spatstat-core) ("r-spatstat-data" ,r-spatstat-data) - ("r-spatstat-utils" ,r-spatstat-utils) - ("r-tensor" ,r-tensor))) + ("r-spatstat-geom" ,r-spatstat-geom) + ("r-spatstat-linnet" ,r-spatstat-linnet) + ("r-spatstat-utils" ,r-spatstat-utils))) (home-page "http://www.spatstat.org") (synopsis "Spatial Point Pattern analysis, model-fitting, simulation, tests") (description From ee92bb90042cfbd99814f22913552a5ef9206240 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:42:00 +0100 Subject: [PATCH 0626/1003] gnu: r-workflows: Update to 0.2.2. * gnu/packages/cran.scm (r-workflows): Update to 0.2.2. [propagated-inputs]: Add r-vctrs. --- gnu/packages/cran.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ffba66e80e..6351d0ca7a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -25603,14 +25603,14 @@ more.") (define-public r-workflows (package (name "r-workflows") - (version "0.2.1") + (version "0.2.2") (source (origin (method url-fetch) (uri (cran-uri "workflows" version)) (sha256 (base32 - "1mk0pnmpqlhf143mvj9rwvjrrshirz6s83s5hbfalhnyw7hzkfb9")))) + "19ipcxx4qfz28cjkgr1vny03yhmbd3m2v64v30gk5pf73nazvmaz")))) (properties `((upstream-name . "workflows"))) (build-system r-build-system) (propagated-inputs @@ -25621,7 +25621,8 @@ more.") ("r-hardhat" ,r-hardhat) ("r-parsnip" ,r-parsnip) ("r-rlang" ,r-rlang) - ("r-tidyselect" ,r-tidyselect))) + ("r-tidyselect" ,r-tidyselect) + ("r-vctrs" ,r-vctrs))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://github.com/tidymodels/workflows") From 921ecdba7c78d0b49bf8a26e97e978906236fc8d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:42:04 +0100 Subject: [PATCH 0627/1003] gnu: r-bbotk: Update to 0.3.1. * gnu/packages/cran.scm (r-bbotk): Update to 0.3.1. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6351d0ca7a..b08c41e98a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -26963,14 +26963,14 @@ vector machines, and gradient boosting.") (define-public r-bbotk (package (name "r-bbotk") - (version "0.3.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "bbotk" version)) (sha256 (base32 - "0kbjbwwq1fdfpl4xzy08hz4qvhjjchvz58icxq0dlbsmdyqwhwv0")))) + "1f29wxnxr73c4yp5afk05jqggpm7k1z8wiak8xsyw68h7xflq550")))) (properties `((upstream-name . "bbotk"))) (build-system r-build-system) (propagated-inputs From ea23f17ece3ad97ff4d7b2d1c0b56d960d5de600 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:42:07 +0100 Subject: [PATCH 0628/1003] gnu: r-mlr3tuning: Update to 0.8.0. * gnu/packages/cran.scm (r-mlr3tuning): Update to 0.8.0. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b08c41e98a..b000212858 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -26993,13 +26993,13 @@ annealing.") (define-public r-mlr3tuning (package (name "r-mlr3tuning") - (version "0.7.0") + (version "0.8.0") (source (origin (method url-fetch) (uri (cran-uri "mlr3tuning" version)) (sha256 (base32 - "0xpq16qij05nsfwg0qnfziqjvgk5wn0dgl0sb5gg3qsp1cs6vfqj")))) + "16rvsf0jf06yvalydbs7zzn2994hvvyfw975ydiyv3wy1qzgr8bv")))) (build-system r-build-system) (propagated-inputs `(("r-bbotk" ,r-bbotk) From bbc542b53c3fe592d092eefd3c7ad7acd465cfc1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:42:10 +0100 Subject: [PATCH 0629/1003] gnu: r-textshaping: Update to 0.3.2. * gnu/packages/cran.scm (r-textshaping): Update to 0.3.2. --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b000212858..3afe67f7cf 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -27292,14 +27292,14 @@ clusterings as resolution increases.") (define-public r-textshaping (package (name "r-textshaping") - (version "0.3.1") + (version "0.3.2") (source (origin (method url-fetch) (uri (cran-uri "textshaping" version)) (sha256 (base32 - "16y3amb9cxwq126q1mxssx7kswzalqf9n2437mi5n7q1nqby6wlq")))) + "0fqh4z505b2qriqcj70g2hhdgiawd3w2rs9rqxdwizz5vk8jjygx")))) (properties `((upstream-name . "textshaping"))) (build-system r-build-system) (inputs From fe903cb89d62045a52bdd3195c5b20f866e54bed Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:42:13 +0100 Subject: [PATCH 0630/1003] gnu: r-survival: Update to 3.2-9. * gnu/packages/statistics.scm (r-survival): Update to 3.2-9. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 86a818da9e..5b9a6368f4 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -710,14 +710,14 @@ analysis.") (define-public r-survival (package (name "r-survival") - (version "3.2-7") + (version "3.2-9") (source (origin (method url-fetch) (uri (cran-uri "survival" version)) (sha256 (base32 - "0ila864g5b9yhjhk3jirgdpi06sksc0axa78890dmkvyv9rwsmjk")))) + "1dkpdci2lvx141193wd69445y65w8k2pa89lc3l83i5jaj56svdn")))) (build-system r-build-system) (propagated-inputs `(("r-matrix" ,r-matrix))) From 2fc2983e595439fbd346c5458fd515a0c29a9d61 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:42:17 +0100 Subject: [PATCH 0631/1003] gnu: r-formatr: Update to 1.8. * gnu/packages/statistics.scm (r-formatr): Update to 1.8. [native-inputs]: Add r-knitr. --- gnu/packages/statistics.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 5b9a6368f4..37968095ce 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1329,14 +1329,16 @@ adapted for other output formats, such as HTML or LaTeX.") (define-public r-formatr (package (name "r-formatr") - (version "1.7") + (version "1.8") (source (origin (method url-fetch) (uri (cran-uri "formatR" version)) (sha256 (base32 - "1nsxbrx31k3y6yql30qkrvdfyznlia2qfvwv95mfiy7m7wdn4rm3")))) + "04q6y53ji7ll131khbwiz584wl8sinhh3z82p6r8dqa9f618ay6z")))) (build-system r-build-system) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://yihui.org/formatr/") (synopsis "Format R code automatically") (description From 2e2cc58681dbca41cf35f01d11d06dad91d5c717 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:42:20 +0100 Subject: [PATCH 0632/1003] gnu: r-rcpparmadillo: Update to 0.10.2.2.0. * gnu/packages/statistics.scm (r-rcpparmadillo): Update to 0.10.2.2.0. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 37968095ce..1d4d7d06a8 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2635,13 +2635,13 @@ well as additional utilities such as panel and axis annotation functions.") (define-public r-rcpparmadillo (package (name "r-rcpparmadillo") - (version "0.10.2.1.0") + (version "0.10.2.2.0") (source (origin (method url-fetch) (uri (cran-uri "RcppArmadillo" version)) (sha256 (base32 - "03i9npq2mcv08ppp1ab2vzr412d4q9vldcc87nz2djbh9ai3xnv5")))) + "193smj6vp3cn3qjhrx2llgi5c7hs069crhvi85xj2vzx80fx6r9q")))) (properties `((upstream-name . "RcppArmadillo"))) (build-system r-build-system) (propagated-inputs From 53dff6ac8ffaeeaa704957b83b2245d4494b030a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 13:42:24 +0100 Subject: [PATCH 0633/1003] gnu: r-rsqlite: Update to 2.2.4. * gnu/packages/statistics.scm (r-rsqlite): Update to 2.2.4. --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 1d4d7d06a8..a0f3f59342 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2842,13 +2842,13 @@ a column in data frame.") (define-public r-rsqlite (package (name "r-rsqlite") - (version "2.2.3") + (version "2.2.4") (source (origin (method url-fetch) (uri (cran-uri "RSQLite" version)) (sha256 (base32 - "1sps1qn1x5r5l216rx0yfda7zk365b2xyzii3zv6f78nzdsgadbj")))) + "050s7gv42v43d15yqj2sdrh82iikfpm32idfnw4nbjjjnlcg7wxf")))) (properties `((upstream-name . "RSQLite"))) (build-system r-build-system) (propagated-inputs From 134404b437a2b17bbe072b263884f6ff5d8daf86 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 14:01:27 +0100 Subject: [PATCH 0634/1003] gnu: r-biocviews: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-biocviews): Move from here... * gnu/packages/bioconductor.scm (r-biocviews): ...to here. --- gnu/packages/bioconductor.scm | 28 ++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 28 ---------------------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 4f8e0562b1..c02d1c7877 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -8477,6 +8477,34 @@ monograph.") different graph related packages produced by Bioconductor.") (license license:artistic2.0))) +(define-public r-biocviews + (package + (name "r-biocviews") + (version "1.58.1") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "biocViews" version)) + (sha256 + (base32 + "1by2639z7n62z84dr8rj9jz12gsd1k8q42zsnxacxbwfwp6h0cl4")))) + (properties + `((upstream-name . "biocViews"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-biocmanager" ,r-biocmanager) + ("r-graph" ,r-graph) + ("r-rbgl" ,r-rbgl) + ("r-rcurl" ,r-rcurl) + ("r-xml" ,r-xml) + ("r-runit" ,r-runit))) + (home-page "https://bioconductor.org/packages/biocViews") + (synopsis "Bioconductor package categorization helper") + (description "The purpose of biocViews is to create HTML pages that +categorize packages in a Bioconductor package repository according to keywords, +also known as views, in a controlled vocabulary.") + (license license:artistic2.0))) + (define-public r-experimenthub (package (name "r-experimenthub") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index b0736d32e4..8169ff4f26 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7718,34 +7718,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-biocviews - (package - (name "r-biocviews") - (version "1.58.1") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "biocViews" version)) - (sha256 - (base32 - "1by2639z7n62z84dr8rj9jz12gsd1k8q42zsnxacxbwfwp6h0cl4")))) - (properties - `((upstream-name . "biocViews"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biobase" ,r-biobase) - ("r-biocmanager" ,r-biocmanager) - ("r-graph" ,r-graph) - ("r-rbgl" ,r-rbgl) - ("r-rcurl" ,r-rcurl) - ("r-xml" ,r-xml) - ("r-runit" ,r-runit))) - (home-page "https://bioconductor.org/packages/biocViews") - (synopsis "Bioconductor package categorization helper") - (description "The purpose of biocViews is to create HTML pages that -categorize packages in a Bioconductor package repository according to keywords, -also known as views, in a controlled vocabulary.") - (license license:artistic2.0))) - (define-public r-biocstyle (package (name "r-biocstyle") From 5ac55aea8b78439cc72b70718cb7922599182712 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 14:01:28 +0100 Subject: [PATCH 0635/1003] gnu: r-biocstyle: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-biocstyle): Move from here... * gnu/packages/bioconductor.scm (r-biocstyle): ...to here. --- gnu/packages/bioconductor.scm | 28 ++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 28 ---------------------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index c02d1c7877..ca9bcc07eb 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -8477,6 +8477,34 @@ monograph.") different graph related packages produced by Bioconductor.") (license license:artistic2.0))) +(define-public r-biocstyle + (package + (name "r-biocstyle") + (version "2.18.1") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "BiocStyle" version)) + (sha256 + (base32 + "0rsxyna4dd99x42vc82mlkxx774vb9375llpakg53max1hhwkrqp")))) + (properties + `((upstream-name . "BiocStyle"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocmanager" ,r-biocmanager) + ("r-bookdown" ,r-bookdown) + ("r-knitr" ,r-knitr) + ("r-rmarkdown" ,r-rmarkdown) + ("r-yaml" ,r-yaml))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/BiocStyle") + (synopsis "Bioconductor formatting styles") + (description "This package provides standard formatting styles for +Bioconductor PDF and HTML documents. Package vignettes illustrate use and +functionality.") + (license license:artistic2.0))) + (define-public r-biocviews (package (name "r-biocviews") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 8169ff4f26..c90dcada7b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7718,34 +7718,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-biocstyle - (package - (name "r-biocstyle") - (version "2.18.1") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "BiocStyle" version)) - (sha256 - (base32 - "0rsxyna4dd99x42vc82mlkxx774vb9375llpakg53max1hhwkrqp")))) - (properties - `((upstream-name . "BiocStyle"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biocmanager" ,r-biocmanager) - ("r-bookdown" ,r-bookdown) - ("r-knitr" ,r-knitr) - ("r-rmarkdown" ,r-rmarkdown) - ("r-yaml" ,r-yaml))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/BiocStyle") - (synopsis "Bioconductor formatting styles") - (description "This package provides standard formatting styles for -Bioconductor PDF and HTML documents. Package vignettes illustrate use and -functionality.") - (license license:artistic2.0))) - (define-public r-bioccheck (package (name "r-bioccheck") From d5576b6eb7808574dd519bf7591b4cf08ea6cb2c Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 14:01:26 +0100 Subject: [PATCH 0636/1003] gnu: r-grohmm: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-grohmm): Move from here... * gnu/packages/bioconductor.scm (r-grohmm): ...to here. --- gnu/packages/bioconductor.scm | 27 +++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 27 --------------------------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index ca9bcc07eb..91d02639a3 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -8567,6 +8567,33 @@ and manages a local cache of files retrieved enabling quick and reproducible access.") (license license:artistic2.0))) +(define-public r-grohmm + (package + (name "r-grohmm") + (version "1.24.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "groHMM" version)) + (sha256 + (base32 + "08pap9wsaxl4jjlc1py0rc019gmi6daa0f9cr3ih1d97wybncanx")))) + (properties `((upstream-name . "groHMM"))) + (build-system r-build-system) + (propagated-inputs + `(("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicalignments" ,r-genomicalignments) + ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) + ("r-mass" ,r-mass) + ("r-rtracklayer" ,r-rtracklayer) + ("r-s4vectors" ,r-s4vectors))) + (home-page "https://github.com/Kraus-Lab/groHMM") + (synopsis "GRO-seq analysis pipeline") + (description + "This package provides a pipeline for the analysis of GRO-seq data.") + (license license:gpl3+))) + (define-public r-multiassayexperiment (package (name "r-multiassayexperiment") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index c90dcada7b..ad3ae204e1 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7387,33 +7387,6 @@ includes software to ") (license license:cc0)))) -(define-public r-grohmm - (package - (name "r-grohmm") - (version "1.24.0") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "groHMM" version)) - (sha256 - (base32 - "08pap9wsaxl4jjlc1py0rc019gmi6daa0f9cr3ih1d97wybncanx")))) - (properties `((upstream-name . "groHMM"))) - (build-system r-build-system) - (propagated-inputs - `(("r-genomeinfodb" ,r-genomeinfodb) - ("r-genomicalignments" ,r-genomicalignments) - ("r-genomicranges" ,r-genomicranges) - ("r-iranges" ,r-iranges) - ("r-mass" ,r-mass) - ("r-rtracklayer" ,r-rtracklayer) - ("r-s4vectors" ,r-s4vectors))) - (home-page "https://github.com/Kraus-Lab/groHMM") - (synopsis "GRO-seq analysis pipeline") - (description - "This package provides a pipeline for the analysis of GRO-seq data.") - (license license:gpl3+))) - (define-public vsearch (package (name "vsearch") From 852fa82d4ccd902dfd7b8e673d4d1f71fd69e89a Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 14:01:29 +0100 Subject: [PATCH 0637/1003] gnu: r-bioccheck: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-bioccheck): Move from here... * gnu/packages/bioconductor.scm (r-bioccheck): ...to here. --- gnu/packages/bioconductor.scm | 49 +++++++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 49 --------------------------------- 2 files changed, 49 insertions(+), 49 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 91d02639a3..7c97e52312 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -8452,6 +8452,55 @@ microarray data.") monograph.") (license license:artistic2.0))) +(define-public r-bioccheck + (package + (name "r-bioccheck") + (version "1.26.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "BiocCheck" version)) + (sha256 + (base32 + "1hyncn9zqj432da95k86rm5b28nbwrvzm52jbhisifkxj1j43cib")))) + (properties + `((upstream-name . "BiocCheck"))) + (build-system r-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + ;; This package can be used by calling BiocCheck() from + ;; within R, or by running R CMD BiocCheck . This phase + ;; makes sure the latter works. For this to work, the BiocCheck + ;; script must be somewhere on the PATH (not the R bin directory). + (add-after 'install 'install-bioccheck-subcommand + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (dest-dir (string-append out "/bin")) + (script-dir + (string-append out "/site-library/BiocCheck/script/"))) + (mkdir-p dest-dir) + (symlink (string-append script-dir "/checkBadDeps.R") + (string-append dest-dir "/checkBadDeps.R")) + (symlink (string-append script-dir "/BiocCheck") + (string-append dest-dir "/BiocCheck"))) + #t))))) + (propagated-inputs + `(("r-codetools" ,r-codetools) + ("r-graph" ,r-graph) + ("r-httr" ,r-httr) + ("r-knitr" ,r-knitr) + ("r-optparse" ,r-optparse) + ("r-biocmanager" ,r-biocmanager) + ("r-biocviews" ,r-biocviews) + ("r-stringdist" ,r-stringdist))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/BiocCheck") + (synopsis "Executes Bioconductor-specific package checks") + (description "This package contains tools to perform additional quality +checks on R packages that are to be submitted to the Bioconductor repository.") + (license license:artistic2.0))) + (define-public r-biocgraph (package (name "r-biocgraph") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index ad3ae204e1..d8d64818d2 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,55 +7691,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-bioccheck - (package - (name "r-bioccheck") - (version "1.26.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "BiocCheck" version)) - (sha256 - (base32 - "1hyncn9zqj432da95k86rm5b28nbwrvzm52jbhisifkxj1j43cib")))) - (properties - `((upstream-name . "BiocCheck"))) - (build-system r-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - ;; This package can be used by calling BiocCheck() from - ;; within R, or by running R CMD BiocCheck . This phase - ;; makes sure the latter works. For this to work, the BiocCheck - ;; script must be somewhere on the PATH (not the R bin directory). - (add-after 'install 'install-bioccheck-subcommand - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (dest-dir (string-append out "/bin")) - (script-dir - (string-append out "/site-library/BiocCheck/script/"))) - (mkdir-p dest-dir) - (symlink (string-append script-dir "/checkBadDeps.R") - (string-append dest-dir "/checkBadDeps.R")) - (symlink (string-append script-dir "/BiocCheck") - (string-append dest-dir "/BiocCheck"))) - #t))))) - (propagated-inputs - `(("r-codetools" ,r-codetools) - ("r-graph" ,r-graph) - ("r-httr" ,r-httr) - ("r-knitr" ,r-knitr) - ("r-optparse" ,r-optparse) - ("r-biocmanager" ,r-biocmanager) - ("r-biocviews" ,r-biocviews) - ("r-stringdist" ,r-stringdist))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/BiocCheck") - (synopsis "Executes Bioconductor-specific package checks") - (description "This package contains tools to perform additional quality -checks on R packages that are to be submitted to the Bioconductor repository.") - (license license:artistic2.0))) - (define-public r-s4vectors (package (name "r-s4vectors") From d64e3a487ba890b1aa6b24b7be917f55f80740a8 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 14:01:30 +0100 Subject: [PATCH 0638/1003] gnu: r-s4vectors: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-s4vectors): Move from here... * gnu/packages/bioconductor.scm (r-s4vectors): ...to here. --- gnu/packages/bioconductor.scm | 28 ++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 27 --------------------------- 2 files changed, 28 insertions(+), 27 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 7c97e52312..ed34a9308a 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus ;;; Copyright © 2016, 2017, 2018, 2020 Roel Janssen +;;; Copyright © 2016 Pjotr Prins ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019, 2020, 2021 Simon Tournier ;;; Copyright © 2020 Peter Lo @@ -9154,6 +9155,33 @@ generated.") routines.") (license license:lgpl2.0+))) +(define-public r-s4vectors + (package + (name "r-s4vectors") + (version "0.28.1") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "S4Vectors" version)) + (sha256 + (base32 + "0fhf4lsfxrim7glazh6ng46ykzaly5ggwpg170vcz4cc24prv0rh")))) + (properties + `((upstream-name . "S4Vectors"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics))) + (home-page "https://bioconductor.org/packages/S4Vectors") + (synopsis "S4 implementation of vectors and lists") + (description + "The S4Vectors package defines the @code{Vector} and @code{List} virtual +classes and a set of generic functions that extend the semantic of ordinary +vectors and lists in R. Package developers can easily implement vector-like +or list-like objects as concrete subclasses of @code{Vector} or @code{List}. +In addition, a few low-level concrete subclasses of general interest (e.g. +@code{DataFrame}, @code{Rle}, and @code{Hits}) are implemented in the +S4Vectors package itself.") + (license license:artistic2.0))) + ;; This is a CRAN package, but it depends on preprocessorcore, which is a ;; Bioconductor package. (define-public r-wgcna diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index d8d64818d2..1fcb436f0d 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,33 +7691,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-s4vectors - (package - (name "r-s4vectors") - (version "0.28.1") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "S4Vectors" version)) - (sha256 - (base32 - "0fhf4lsfxrim7glazh6ng46ykzaly5ggwpg170vcz4cc24prv0rh")))) - (properties - `((upstream-name . "S4Vectors"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics))) - (home-page "https://bioconductor.org/packages/S4Vectors") - (synopsis "S4 implementation of vectors and lists") - (description - "The S4Vectors package defines the @code{Vector} and @code{List} virtual -classes and a set of generic functions that extend the semantic of ordinary -vectors and lists in R. Package developers can easily implement vector-like -or list-like objects as concrete subclasses of @code{Vector} or @code{List}. -In addition, a few low-level concrete subclasses of general interest (e.g. -@code{DataFrame}, @code{Rle}, and @code{Hits}) are implemented in the -S4Vectors package itself.") - (license license:artistic2.0))) - (define-public r-iranges (package (name "r-iranges") From 9949f459bff3980f59db8925a90891577e4f91d6 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 14:01:31 +0100 Subject: [PATCH 0639/1003] gnu: r-iranges: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-iranges): Move from here... * gnu/packages/bioconductor.scm (r-iranges): ...to here. --- gnu/packages/bioconductor.scm | 30 ++++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 29 ----------------------------- 2 files changed, 30 insertions(+), 29 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index ed34a9308a..68c5ed7768 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus ;;; Copyright © 2016, 2017, 2018, 2020 Roel Janssen ;;; Copyright © 2016 Pjotr Prins +;;; Copyright © 2016 Ben Woodcroft ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019, 2020, 2021 Simon Tournier ;;; Copyright © 2020 Peter Lo @@ -1244,6 +1245,35 @@ and evaluate clustering results.") arbitrary genomic intervals along chromosomal ideogram.") (license license:gpl2))) +(define-public r-iranges + (package + (name "r-iranges") + (version "2.24.1") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "IRanges" version)) + (sha256 + (base32 + "01mx46a82vd3gz705pj0kk4wpxg683s8jqxchzjia3gz00b4qw52")))) + (properties + `((upstream-name . "IRanges"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-s4vectors" ,r-s4vectors))) + (home-page "https://bioconductor.org/packages/IRanges") + (synopsis "Infrastructure for manipulating intervals on sequences") + (description + "This package provides efficient low-level and highly reusable S4 classes +for storing ranges of integers, RLE vectors (Run-Length Encoding), and, more +generally, data that can be organized sequentially (formally defined as +@code{Vector} objects), as well as views on these @code{Vector} objects. +Efficient list-like classes are also provided for storing big collections of +instances of the basic classes. All classes in the package use consistent +naming and share the same rich and consistent \"Vector API\" as much as +possible.") + (license license:artistic2.0))) + ;; This is a CRAN package, but it depends on r-bsgenome-hsapiens-ucsc-hg19 ;; from Bioconductor. (define-public r-deconstructsigs diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 1fcb436f0d..36ecf47467 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,35 +7691,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-iranges - (package - (name "r-iranges") - (version "2.24.1") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "IRanges" version)) - (sha256 - (base32 - "01mx46a82vd3gz705pj0kk4wpxg683s8jqxchzjia3gz00b4qw52")))) - (properties - `((upstream-name . "IRanges"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics) - ("r-s4vectors" ,r-s4vectors))) - (home-page "https://bioconductor.org/packages/IRanges") - (synopsis "Infrastructure for manipulating intervals on sequences") - (description - "This package provides efficient low-level and highly reusable S4 classes -for storing ranges of integers, RLE vectors (Run-Length Encoding), and, more -generally, data that can be organized sequentially (formally defined as -@code{Vector} objects), as well as views on these @code{Vector} objects. -Efficient list-like classes are also provided for storing big collections of -instances of the basic classes. All classes in the package use consistent -naming and share the same rich and consistent \"Vector API\" as much as -possible.") - (license license:artistic2.0))) - (define-public r-genomeinfodbdata (package (name "r-genomeinfodbdata") From 8d6d75ff392af1d2633a2ffc07f29c5c1da0071c Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 14:01:32 +0100 Subject: [PATCH 0640/1003] gnu: r-genomeinfodbdata: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-genomeinfodbdata): Move from here... * gnu/packages/bioconductor.scm (r-genomeinfodbdata): ...to here. [source]: Use 'bioconductor-uri'. --- gnu/packages/bioconductor.scm | 20 ++++++++++++++++++++ gnu/packages/bioinformatics.scm | 23 ----------------------- 2 files changed, 20 insertions(+), 23 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 68c5ed7768..53f025ec61 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016, 2017, 2018, 2020 Roel Janssen ;;; Copyright © 2016 Pjotr Prins ;;; Copyright © 2016 Ben Woodcroft +;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019, 2020, 2021 Simon Tournier ;;; Copyright © 2020 Peter Lo @@ -391,6 +392,25 @@ musculus (Mouse) as provided by UCSC (mm10, December 2011) and stored in Biostrings objects.") (license license:artistic2.0))) +(define-public r-genomeinfodbdata + (package + (name "r-genomeinfodbdata") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "GenomeInfoDbData" version 'annotation)) + (sha256 + (base32 + "0di6nlqpsyqf693k2na65ayqldih563x3zfrczpqc5q2hl5kg35c")))) + (properties + `((upstream-name . "GenomeInfoDbData"))) + (build-system r-build-system) + (home-page "https://bioconductor.org/packages/GenomeInfoDbData") + (synopsis "Species and taxonomy ID look up tables for GenomeInfoDb") + (description "This package contains data for mapping between NCBI taxonomy +ID and species. It is used by functions in the GenomeInfoDb package.") + (license license:artistic2.0))) + (define-public r-homo-sapiens (package (name "r-homo-sapiens") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 36ecf47467..25ade2b9db 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,29 +7691,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-genomeinfodbdata - (package - (name "r-genomeinfodbdata") - (version "1.2.0") - (source (origin - (method url-fetch) - ;; We cannot use bioconductor-uri here because this tarball is - ;; located under "data/annotation/" instead of "bioc/". - (uri (string-append "https://bioconductor.org/packages/release/" - "data/annotation/src/contrib/GenomeInfoDbData_" - version ".tar.gz")) - (sha256 - (base32 - "0di6nlqpsyqf693k2na65ayqldih563x3zfrczpqc5q2hl5kg35c")))) - (properties - `((upstream-name . "GenomeInfoDbData"))) - (build-system r-build-system) - (home-page "https://bioconductor.org/packages/GenomeInfoDbData") - (synopsis "Species and taxonomy ID look up tables for GenomeInfoDb") - (description "This package contains data for mapping between NCBI taxonomy -ID and species. It is used by functions in the GenomeInfoDb package.") - (license license:artistic2.0))) - (define-public r-genomeinfodb (package (name "r-genomeinfodb") From 35b62c044e45a3add35b62839b07030f704bf708 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 14:01:33 +0100 Subject: [PATCH 0641/1003] gnu: r-genomeinfodb: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-genomeinfodb): Move from here... * gnu/packages/bioconductor.scm (r-genomeinfodb): ...to here. --- gnu/packages/bioconductor.scm | 30 ++++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 30 ------------------------------ 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 53f025ec61..b4456d13c8 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1712,6 +1712,36 @@ exploration of the results.") high-throughput sequencing experiments.") (license license:artistic2.0))) +(define-public r-genomeinfodb + (package + (name "r-genomeinfodb") + (version "1.26.2") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "GenomeInfoDb" version)) + (sha256 + (base32 + "092izc49maxjhf6m4b0qx21ad16dz7bmxy5pysp3vkyhdrfa2f7v")))) + (properties + `((upstream-name . "GenomeInfoDb"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-genomeinfodbdata" ,r-genomeinfodbdata) + ("r-iranges" ,r-iranges) + ("r-rcurl" ,r-rcurl) + ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/GenomeInfoDb") + (synopsis "Utilities for manipulating chromosome identifiers") + (description + "This package contains data and functions that define and allow +translation between different chromosome sequence naming conventions (e.g., +\"chr1\" versus \"1\"), including a function that attempts to place sequence +names in their natural, rather than lexicographic, order.") + (license license:artistic2.0))) + (define-public r-gostats (package (name "r-gostats") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 25ade2b9db..ff6996011e 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,36 +7691,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-genomeinfodb - (package - (name "r-genomeinfodb") - (version "1.26.2") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "GenomeInfoDb" version)) - (sha256 - (base32 - "092izc49maxjhf6m4b0qx21ad16dz7bmxy5pysp3vkyhdrfa2f7v")))) - (properties - `((upstream-name . "GenomeInfoDb"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics) - ("r-genomeinfodbdata" ,r-genomeinfodbdata) - ("r-iranges" ,r-iranges) - ("r-rcurl" ,r-rcurl) - ("r-s4vectors" ,r-s4vectors))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/GenomeInfoDb") - (synopsis "Utilities for manipulating chromosome identifiers") - (description - "This package contains data and functions that define and allow -translation between different chromosome sequence naming conventions (e.g., -\"chr1\" versus \"1\"), including a function that attempts to place sequence -names in their natural, rather than lexicographic, order.") - (license license:artistic2.0))) - (define-public r-edger (package (name "r-edger") From 082f3c54337aaba40b978dfa9963f8ed6f20123d Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 14:01:34 +0100 Subject: [PATCH 0642/1003] gnu: r-edger: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-edger): Move from here... * gnu/packages/bioconductor.scm (r-edger): ...to here. --- gnu/packages/bioconductor.scm | 28 ++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 28 ---------------------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index b4456d13c8..fb0127b7ca 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1684,6 +1684,34 @@ testing. The package also provides functions for the visualization and exploration of the results.") (license license:gpl3+))) +(define-public r-edger + (package + (name "r-edger") + (version "3.32.1") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "edgeR" version)) + (sha256 + (base32 + "1gaic8qf6a6sy0bmydh1xzf52w0wnq31aanpvw3a30pfsi218bcp")))) + (properties `((upstream-name . "edgeR"))) + (build-system r-build-system) + (propagated-inputs + `(("r-limma" ,r-limma) + ("r-locfit" ,r-locfit) + ("r-rcpp" ,r-rcpp) + ("r-statmod" ,r-statmod))) ;for estimateDisp + (home-page "http://bioinf.wehi.edu.au/edgeR") + (synopsis "EdgeR does empirical analysis of digital gene expression data") + (description "This package can do differential expression analysis of +RNA-seq expression profiles with biological replication. It implements a range +of statistical methodology based on the negative binomial distributions, +including empirical Bayes estimation, exact tests, generalized linear models +and quasi-likelihood tests. It be applied to differential signal analysis of +other types of genomic data that produce counts, including ChIP-seq, SAGE and +CAGE.") + (license license:gpl2+))) + (define-public r-genefilter (package (name "r-genefilter") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index ff6996011e..dc0d7a2906 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,34 +7691,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-edger - (package - (name "r-edger") - (version "3.32.1") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "edgeR" version)) - (sha256 - (base32 - "1gaic8qf6a6sy0bmydh1xzf52w0wnq31aanpvw3a30pfsi218bcp")))) - (properties `((upstream-name . "edgeR"))) - (build-system r-build-system) - (propagated-inputs - `(("r-limma" ,r-limma) - ("r-locfit" ,r-locfit) - ("r-rcpp" ,r-rcpp) - ("r-statmod" ,r-statmod))) ;for estimateDisp - (home-page "http://bioinf.wehi.edu.au/edgeR") - (synopsis "EdgeR does empirical analysis of digital gene expression data") - (description "This package can do differential expression analysis of -RNA-seq expression profiles with biological replication. It implements a range -of statistical methodology based on the negative binomial distributions, -including empirical Bayes estimation, exact tests, generalized linear models -and quasi-likelihood tests. It be applied to differential signal analysis of -other types of genomic data that produce counts, including ChIP-seq, SAGE and -CAGE.") - (license license:gpl2+))) - (define-public r-variantannotation (package (name "r-variantannotation") From bf612ead766ee5afcdccd7c8ab003b791ecea9df Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 14:01:58 +0100 Subject: [PATCH 0643/1003] gnu: r-variantannotation: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-variantannotation): Move from here... * gnu/packages/bioconductor.scm (r-variantannotation): ...to here. --- gnu/packages/bioconductor.scm | 38 +++++++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 38 --------------------------------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index fb0127b7ca..c4df090a05 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -2051,6 +2051,44 @@ experimental designs is facilitated by a consistently implemented sample annotation infrastructure.") (license license:artistic2.0))) +(define-public r-variantannotation + (package + (name "r-variantannotation") + (version "1.36.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "VariantAnnotation" version)) + (sha256 + (base32 + "1sl0l6v05lfglj281nszma0h5k234md7rn2pdah8vs2d4iq3kimw")))) + (properties + `((upstream-name . "VariantAnnotation"))) + (propagated-inputs + `(("r-annotationdbi" ,r-annotationdbi) + ("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-biostrings" ,r-biostrings) + ("r-bsgenome" ,r-bsgenome) + ("r-dbi" ,r-dbi) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicfeatures" ,r-genomicfeatures) + ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) + ("r-matrixgenerics" ,r-matrixgenerics) + ("r-summarizedexperiment" ,r-summarizedexperiment) + ("r-rhtslib" ,r-rhtslib) + ("r-rsamtools" ,r-rsamtools) + ("r-rtracklayer" ,r-rtracklayer) + ("r-s4vectors" ,r-s4vectors) + ("r-xvector" ,r-xvector) + ("r-zlibbioc" ,r-zlibbioc))) + (build-system r-build-system) + (home-page "https://bioconductor.org/packages/VariantAnnotation") + (synopsis "Package for annotation of genetic variants") + (description "This R package can annotate variants, compute amino acid +coding changes and predict coding outcomes.") + (license license:artistic2.0))) + (define-public r-geneplotter (package (name "r-geneplotter") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index dc0d7a2906..78df3091fe 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,44 +7691,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-variantannotation - (package - (name "r-variantannotation") - (version "1.36.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "VariantAnnotation" version)) - (sha256 - (base32 - "1sl0l6v05lfglj281nszma0h5k234md7rn2pdah8vs2d4iq3kimw")))) - (properties - `((upstream-name . "VariantAnnotation"))) - (propagated-inputs - `(("r-annotationdbi" ,r-annotationdbi) - ("r-biobase" ,r-biobase) - ("r-biocgenerics" ,r-biocgenerics) - ("r-biostrings" ,r-biostrings) - ("r-bsgenome" ,r-bsgenome) - ("r-dbi" ,r-dbi) - ("r-genomeinfodb" ,r-genomeinfodb) - ("r-genomicfeatures" ,r-genomicfeatures) - ("r-genomicranges" ,r-genomicranges) - ("r-iranges" ,r-iranges) - ("r-matrixgenerics" ,r-matrixgenerics) - ("r-summarizedexperiment" ,r-summarizedexperiment) - ("r-rhtslib" ,r-rhtslib) - ("r-rsamtools" ,r-rsamtools) - ("r-rtracklayer" ,r-rtracklayer) - ("r-s4vectors" ,r-s4vectors) - ("r-xvector" ,r-xvector) - ("r-zlibbioc" ,r-zlibbioc))) - (build-system r-build-system) - (home-page "https://bioconductor.org/packages/VariantAnnotation") - (synopsis "Package for annotation of genetic variants") - (description "This R package can annotate variants, compute amino acid -coding changes and predict coding outcomes.") - (license license:artistic2.0))) - (define-public r-limma (package (name "r-limma") From 78e7e178a3976d6c38de80449548e0332bbc474c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 13:04:46 +0200 Subject: [PATCH 0644/1003] build-system/cargo: Don't clobber packaged crates while building. This fixes an issue where two packages share a common dependent. * guix/build/cargo-build-system.scm (unpack-rust-crates): Only copy rust crates into the target directory if there isn't one already there with the same name. --- guix/build/cargo-build-system.scm | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm index c7ca98105c..0a95672b00 100644 --- a/guix/build/cargo-build-system.scm +++ b/guix/build/cargo-build-system.scm @@ -91,11 +91,17 @@ Cargo.toml file present at its root." (mkdir-p "target/package") (mkdir-p vendor-dir) ;; TODO: copy only regular inputs to target/package, not native-inputs. - (for-each (lambda (input-crate) - (copy-recursively (string-append input-crate - "/share/cargo/registry") - "target/package")) - (delete-duplicates rust-inputs)) + (for-each + (lambda (input-crate) + (for-each + (lambda (packaged-crate) + (unless + (file-exists? + (string-append "target/package/" (basename packaged-crate))) + (install-file packaged-crate "target/package/"))) + (find-files + (string-append input-crate "/share/cargo/registry") "\\.crate$"))) + (delete-duplicates rust-inputs)) (for-each (lambda (crate) (invoke "tar" "xzf" crate "-C" vendor-dir)) From 69c757c45ae4f6ee7c8e67981d2de112278bc7bd Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 13:05:17 +0200 Subject: [PATCH 0645/1003] gnu: rust-quote-1: Update to 1.0.9. * gnu/packages/crates-io.scm (rust-quote-1): Update to 1.0.9. --- gnu/packages/crates-io.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index f6d565e24d..b4fd754c0b 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -30736,7 +30736,7 @@ integers, floats, tuples, booleans, lists, strings, options and results.") (define-public rust-quote-1 (package (name "rust-quote") - (version "1.0.7") + (version "1.0.9") (source (origin (method url-fetch) @@ -30744,7 +30744,7 @@ integers, floats, tuples, booleans, lists, strings, options and results.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0drzd6pq7whq7qhdvvs8wn6pbb0hhc12pz8wv80fb05ixhbksmma")))) + "19rjmfqzk26rxbgxy5j2ckqc2v12sw2xw8l4gi8bzpn2bmsbkl63")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs From 4363b542f276b4d6a5a8cc4c85d527fd53fb5261 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 13:09:12 +0200 Subject: [PATCH 0646/1003] gnu: rust-wayland-sys-0.28: Adapt for new build system. * gnu/packages/crates-graphics.scm (rust-wayland-sys-0.28)[arguments]: Don't skip build. Add phase to refer explicitly to wayland libraries. [inputs]: Add rust-dlib-0.4, rust-lazy-static-1, rust-libc-0.2, rust-pkg-config-0.3. [propagated-inputs]: Add wayland. (rust-wayland-sys-0.23): Adjust accordingly. --- gnu/packages/crates-graphics.scm | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index c26cf56394..d67e9dc02f 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Valentin Ignatev ;;; Copyright © 2020 Hartmut Goebel -;;; Copyright © 2020 Efraim Flashner +;;; Copyright © 2020, 2021 Efraim Flashner ;;; Copyright © 2020 John Soo ;;; Copyright © 2020 Gabriel Arazas ;;; Copyright © 2020 Raghav Gururajan @@ -2748,12 +2748,27 @@ the wayland protocol, server side.") (base32 "16f03jsy7q6p2wpaazc4w4kycyyk0fz7lacpdbcizl9m1i7874v7")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-dlib" ,rust-dlib-0.4) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-libc" ,rust-libc-0.2) - ("rust-pkg-config" ,rust-pkg-config-0.3)))) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-libraries + (lambda* (#:key inputs #:allow-other-keys) + (let ((libwayland (assoc-ref inputs "wayland"))) + (substitute* (find-files "src" "\\.rs$") + (("libwayland.*\\.so" shared-lib) + (string-append libwayland "/lib/" shared-lib))) + #t)))))) + (inputs + `(("rust-dlib" ,rust-dlib-0.4) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3))) + (propagated-inputs + `(("wayland" ,wayland))) (home-page "https://github.com/smithay/wayland-rs") (synopsis "FFI bindings to the various @file{libwayland-*.so} libraries") (description @@ -2778,10 +2793,13 @@ crate @code{rust-wayland-client} for usable bindings.") (base32 "1x2qafvj8hd2x5qfaan2dfpw9amg0f5g9sqrkdy7qvbddsl8jknr")))) (arguments - `(#:cargo-inputs + `(#:skip-build? #t + #:cargo-inputs (("rust-dlib" ,rust-dlib-0.4) ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libc" ,rust-libc-0.2)))))) + ("rust-libc" ,rust-libc-0.2)))) + (inputs `()) + (propagated-inputs `()))) (define-public rust-wayland-sys-0.21 (package From d49991143211943c9571fb86a638ace7b370312c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 14:21:49 +0200 Subject: [PATCH 0647/1003] gnu: rust-pkg-config-0.3: Update to 0.3.19. * gnu/packages/crates-io.scm (rust-pkg-config-0.3): Update to 0.3.19. --- gnu/packages/crates-io.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index b4fd754c0b..425ab95901 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -28714,7 +28714,7 @@ written with declarative macros.") (define-public rust-pkg-config-0.3 (package (name "rust-pkg-config") - (version "0.3.17") + (version "0.3.19") (source (origin (method url-fetch) @@ -28722,7 +28722,7 @@ written with declarative macros.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0xynnaxdv0gzadlw4h79j855k0q7rj4zb9xb1vk00nc6ss559nh5")))) + "0k4860955riciibxr8bhnklp79jydp4xfylwdn5v9kj96hxlac9q")))) (build-system cargo-build-system) (arguments `(#:cargo-development-inputs From 12c699572c41cb267172e864523dff09af599cd5 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 14:22:52 +0200 Subject: [PATCH 0648/1003] gnu: rust-pkg-config-0.3: Hardcode location of pkg-config. * gnu/packages/crates-io.scm (rust-pkg-config-0.3)[arguments]: Add phase to hardcode location of pkg-config binary. --- gnu/packages/crates-io.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 425ab95901..664bb10773 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -28726,7 +28726,16 @@ written with declarative macros.") (build-system cargo-build-system) (arguments `(#:cargo-development-inputs - (("rust-lazy-static" ,rust-lazy-static-1)))) + (("rust-lazy-static" ,rust-lazy-static-1)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'hardcode-pkg-config-loation + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/lib.rs" + (("\"pkg-config\"") + (string-append "\"" (assoc-ref inputs "pkg-config") + "/bin/pkg-config\""))) + #t))))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://github.com/rust-lang/pkg-config-rs") From c805bdd550908e2f5c796ac1eccd916de90937bf Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 14:24:08 +0200 Subject: [PATCH 0649/1003] gnu: rust-winapi-0.3: Adjust for new build system. * gnu/packages/crates-io.scm (rust-winapi-0.3)[inputs]: Add rust-winapi-i686-pc-windows-gnu, rust-winapi-x86-64-pc-windows-gnu. --- gnu/packages/crates-io.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 664bb10773..ad15cebe0b 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -48658,6 +48658,9 @@ command-line, uniformly on all platforms") `(#:cargo-inputs (("winapi-i686-pc-windows-gnu" ,rust-winapi-i686-pc-windows-gnu-0.4) ("winapi-x86-64-pc-windows-gnu" ,rust-winapi-x86-64-pc-windows-gnu-0.4)))) + (inputs + `(("rust-winapi-i686-pc-windows-gnu" ,rust-winapi-i686-pc-windows-gnu-0.4) + ("rust-winapi-x86-64-pc-windows-gnu" ,rust-winapi-x86-64-pc-windows-gnu-0.4))) (home-page "https://github.com/retep998/winapi-rs") (synopsis "Raw FFI bindings for all of Windows API") (description From 358f5d9b1b9f098a28e4b379944c8a31d9fcd2da Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 14:25:03 +0200 Subject: [PATCH 0650/1003] gnu: rust-proc-macro2-1: Adapt for new build system. * gnu/packages/crates-io.scm (rust-proc-macro2-1)[inputs]: Add rust-unicode-xid-0.2. --- gnu/packages/crates-io.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index ad15cebe0b..80f9e3f828 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -29803,6 +29803,8 @@ in your code.") (("rust-unicode-xid" ,rust-unicode-xid-0.2)) #:cargo-development-inputs (("rust-quote" ,rust-quote-1)))) + (inputs + `(("rust-unicode-xid" ,rust-unicode-xid-0.2))) (home-page "https://github.com/alexcrichton/proc-macro2") (synopsis "Stable implementation of the upcoming new `proc_macro` API") (description "This package provides a stable implementation of the upcoming new From bafeee4f6d6b6a1be8fc40583302e87fb878b937 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 14:27:08 +0200 Subject: [PATCH 0651/1003] gnu: dlib-0.4: Update to 0.4.2. * gnu/packages/crates-io.scm (rust-dlib-0.4): Update to 0.4.2. [arguments]: Replace rust-libloading-0.5 with 0.6. [inputs]: Add rust-libloading-0.6. --- gnu/packages/crates-io.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 80f9e3f828..de987995d9 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -11910,7 +11910,7 @@ Google's diff-match-patch.") (define-public rust-dlib-0.4 (package (name "rust-dlib") - (version "0.4.1") + (version "0.4.2") (source (origin (method url-fetch) @@ -11919,11 +11919,13 @@ Google's diff-match-patch.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0smp2cdvy12xfw26qyqms273w5anszfadv73g75s88yqm54i5rbp")))) + "0xlsf3lrz9hd7q3ff6lp5mw4kn3nbryn746kd07i93r6wg8ia7xi")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-libloading" ,rust-libloading-0.5)))) + (("rust-libloading" ,rust-libloading-0.6)))) + (inputs + `(("rust-libloading" ,rust-libloading-0.6))) (home-page "https://github.com/vberger/dlib") (synopsis "Helper macros for manually loading optional system libraries") (description From b10c637e48f40f7a68e5dd13fa516c7e4e73ca32 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 14:28:27 +0200 Subject: [PATCH 0652/1003] gnu: rust-libloading-0.6: Update to 0.6.7. * gnu/packages/crates-io.scm (rust-libloading-0.6): Update to 0.6. [arguments]: Replace rust-cfg-if-0.1 with 1. [inputs]: Add rust-cfg-if-1, rust-winapi-0.3. --- gnu/packages/crates-io.scm | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index de987995d9..fc5dd72de2 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -21236,23 +21236,26 @@ library.") (define-public rust-libloading-0.6 (package (name "rust-libloading") - (version "0.6.3") + (version "0.6.7") (source (origin (method url-fetch) (uri (crate-uri "libloading" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1ygliqa518jjxwa5ih4b2f8m984ib596vxmjb28pa5lb8zqdhhr4")))) + (base32 "10wq4a4jkman8k6y0v2cw3d38y1h3rw6d2in5klggm8jg90k46im")))) (build-system cargo-build-system) (arguments `(#:skip-build? #true #:cargo-inputs - (("rust-cfg-if" ,rust-cfg-if-0.1) + (("rust-cfg-if" ,rust-cfg-if-1) ("rust-winapi" ,rust-winapi-0.3)) #:cargo-development-inputs (("rust-libc" ,rust-libc-0.2) ("rust-static-assertions" ,rust-static-assertions-1)))) + (inputs + `(("rust-cfg-if" ,rust-cfg-if-1) + ("rust-winapi" ,rust-winapi-0.3))) (home-page "https://github.com/nagisa/rust_libloading/") (synopsis "Safer binding to dynamic library loading utilities") (description "This package provides a safer binding to dynamic library @@ -24872,7 +24875,12 @@ while still providing platform specific APIs.") ("rust-rand" ,rust-rand-0.6) ("rust-semver" ,rust-semver-0.9) ("rust-sysctl" ,rust-sysctl-0.1) - ("rust-tempfile" ,rust-tempfile-3)))))) + ("rust-tempfile" ,rust-tempfile-3)))) + (inputs + `(("rust-bitflags" ,rust-bitflags-1) + ("rust-cc" ,rust-cc-1) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-libc" ,rust-libc-0.2))))) (define-public rust-nix-0.17 (package From f35ab79e033aa8e4955e9c9100c74ecbb3ce4d0b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 14:31:12 +0200 Subject: [PATCH 0653/1003] gnu: rust-wayland-commons-0.28: Adapt for new build system. * gnu/packages/crates-graphics.scm (rust-wayland-commons-0.28) [arguments]: Don't skip build. Remove rust-wayland-sys-0.28 from cargo-inputs. [inputs]: Add rust-nix-0.18, rust-once-cell-1, rust-smallvec-1, rust-wayland-sys-0.28. (rust-wayland-commons-0.23): Adjust accordingly. --- gnu/packages/crates-graphics.scm | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index d67e9dc02f..7dde00ffdb 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -2413,12 +2413,15 @@ the wayland protocol, client side.") (base32 "0mid1sgy3bmiywnrhsr31b8w6zvk1ll2ci2as15ddv8pczvm0128")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-nix" ,rust-nix-0.18) ("rust-once-cell" ,rust-once-cell-1) - ("rust-smallvec" ,rust-smallvec-1) - ("rust-wayland-sys" ,rust-wayland-sys-0.28)))) + ("rust-smallvec" ,rust-smallvec-1)))) + (inputs + `(("rust-nix" ,rust-nix-0.18) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-wayland-sys" ,rust-wayland-sys-0.28))) (home-page "https://github.com/smithay/wayland-rs") (synopsis "Types and structures used by wayland-client and wayland-server") (description @@ -2441,9 +2444,11 @@ and wayland-server.") (base32 "1nyvcs6xxxzqgh0wvc7z0fgi89bf3h9p4qrbf77bnfbwlb8v0rmv")))) (arguments - `(#:cargo-inputs + `(#:skip-build? #t + #:cargo-inputs (("rust-nix" ,rust-nix-0.14) - ("rust-wayland-sys" ,rust-wayland-sys-0.23)))))) + ("rust-wayland-sys" ,rust-wayland-sys-0.23)))) + (inputs `()))) (define-public rust-wayland-commons-0.21 (package From 770e326fdb006b2f689f55d5eb300d28ffd6a95b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 14:34:08 +0200 Subject: [PATCH 0654/1003] gnu: rust-wayland-client-0.28: Adapt for new build system. * gnu/packages/crates-graphics.scm (rust-wayland-client-0.28) [arguments]: Don't skip build. Remove rust-wayland-commons-0.28, rust-wayland-scanner-0.28, rust-wayland-sys-0.28 from cargo-inputs. [inputs]: Add rust-bitflags-1, rust-downcast-rs-1, rust-libc-0.2, rust-nix-0.18, rust-scoped-tls-1, rust-wayland-commons-0.28, rust-wayland-scanner-0.28, rust-wayland-sys-0.28. (rust-wayland-client-0.23): Adjust accordingly. --- gnu/packages/crates-graphics.scm | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index 7dde00ffdb..65339c44de 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -2324,16 +2324,23 @@ applications.") (base32 "1mxnflzv9s3qpcp0z7kqvrzki5bknfar9n9yky06f8ivs00vxgdx")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-downcast-rs" ,rust-downcast-rs-1) ("rust-libc" ,rust-libc-0.2) ("rust-nix" ,rust-nix-0.18) - ("rust-scoped-tls" ,rust-scoped-tls-1) - ("rust-wayland-commons" ,rust-wayland-commons-0.28) - ("rust-wayland-scanner" ,rust-wayland-scanner-0.28) - ("rust-wayland-sys" ,rust-wayland-sys-0.28)))) + ("rust-scoped-tls" ,rust-scoped-tls-1)) + #:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile-3)))) + (inputs + `(("rust-bitflags" ,rust-bitflags-1) + ("rust-downcast-rs" ,rust-downcast-rs-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-nix" ,rust-nix-0.18) + ("rust-scoped-tls" ,rust-scoped-tls-1) + ("rust-wayland-commons" ,rust-wayland-commons-0.28) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.28) + ("rust-wayland-sys" ,rust-wayland-sys-0.28))) (home-page "https://github.com/smithay/wayland-rs") (synopsis "Rust bindings to the standard C implementation of the wayland protocol") @@ -2357,7 +2364,8 @@ the wayland protocol, client side.") (base32 "1nmw2kz70llc5mxwzg6bglnqy0qnyr9224zjmq9czazgw3mq045g")))) (arguments - `(#:cargo-inputs + `(#:skip-build? #t + #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-calloop" ,rust-calloop-0.4) ("rust-downcast-rs" ,rust-downcast-rs-1) @@ -2369,7 +2377,8 @@ the wayland protocol, client side.") ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)) #:cargo-development-inputs (("rust-byteorder" ,rust-byteorder-1) - ("rust-tempfile" ,rust-tempfile-3)))))) + ("rust-tempfile" ,rust-tempfile-3)))) + (inputs `()))) (define-public rust-wayland-client-0.21 (package From 3b6ec859c2101fea2aa58cfc95d83f63e83aa3f4 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 14:35:39 +0200 Subject: [PATCH 0655/1003] gnu: rust-wayland-cursor-0.28: Adapt for new build system. * gnu/packages/crates-graphics.scm (rust-wayland-cursor-0.28) [arguments]: Don't skip build. Remove rust-wayland-client-0.28 from cargo-inputs. [inputs]: Add rust-nix-0.18, rust-wayland-client-0.28, rust-xcursor-0.3. --- gnu/packages/crates-graphics.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index 65339c44de..f2699ed8c3 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -2491,11 +2491,13 @@ and wayland-server.") (base32 "0pvf96a9hg7b40vyvamcg491sa0006fr9bzf1xkaf8q22qn15syn")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-nix" ,rust-nix-0.18) - ("rust-wayland-client" ,rust-wayland-client-0.28) ("rust-xcursor" ,rust-xcursor-0.3)))) + (inputs + `(("rust-nix" ,rust-nix-0.18) + ("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-xcursor" ,rust-xcursor-0.3))) (home-page "https://github.com/smithay/wayland-rs") (synopsis "Bindings to libwayland-cursor") (description From bb06a747b2884c00a8c125cb499c7c13dcddf46e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 14:36:55 +0200 Subject: [PATCH 0656/1003] gnu: rust-wayland-egl-0.28: Adapt for new build system. * gnu/packages/crates-graphics.scm (rust-wayland-egl-0.28) [arguments]: Don't skip build. Remove cargo-inputs. [inputs]: Add rust-wayland-client-0.28, rust-wayland-sys-0.28. [native-inputs]: Add pkg-config. --- gnu/packages/crates-graphics.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index f2699ed8c3..76a4cc96e3 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -2518,11 +2518,12 @@ properly display animated cursors.") (sha256 (base32 "1xd7iap0x4sidmy9dv02cdnxjhnbk9li7r7f39x9cg0i8xs50ly6")))) (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-wayland-client" ,rust-wayland-client-0.28) - ("rust-wayland-sys" ,rust-wayland-sys-0.28)))) + (inputs + `(("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-wayland-sys" ,rust-wayland-sys-0.28))) + ;; For the PKG_CONFIG_PATH environment variable. + (native-inputs + `(("pkg-config" ,pkg-config))) (home-page "https://github.com/smithay/wayland-rs") (synopsis "Bindings to libwayland-egl") (description From facf27e08b1be5a8ab390b4998dd3589fc71e540 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 14:38:36 +0200 Subject: [PATCH 0657/1003] gnu: rust-wayland-protocols-0.28: Adapt for new build system. * gnu/packages/crates-graphics.scm (rust-wayland-protocols-0.28) [arguments]: Don't skip build. Remove everything from cargo-inputs except rust-bitflags-1. [inputs]: Add rust-bitflags-1, rust-wayland-client-0.28, rust-wayland-commons-0.28, rust-wayland-scanner-0.28, rust-wayland-server-0.28. (rust-wayland-protocols-0.23): Adjust accordingly. --- gnu/packages/crates-graphics.scm | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index 76a4cc96e3..dfc85de4de 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -2546,13 +2546,14 @@ initializing an OpenGL or Vulkan context.") (base32 "0c0sw13qssrvf3jgygwqpiimpaagz3haxn9jridd4k85sfs856ii")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-wayland-client" ,rust-wayland-client-0.28) - ("rust-wayland-commons" ,rust-wayland-commons-0.28) - ("rust-wayland-scanner" ,rust-wayland-scanner-0.28) - ("rust-wayland-server" ,rust-wayland-server-0.28)))) + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1)))) + (inputs + `(("rust-bitflags" ,rust-bitflags-1) + ("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-wayland-commons" ,rust-wayland-commons-0.28) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.28) + ("rust-wayland-server" ,rust-wayland-server-0.28))) (home-page "https://github.com/smithay/wayland-rs") (synopsis "Generated API for the officials Wayland protocol extensions") (description @@ -2575,12 +2576,14 @@ extensions.") (base32 "1ygwbzqlnks5xzafka3c8ag6k92g2h6ygj2xsmvjfx2n6rj8dhkc")))) (arguments - `(#:cargo-inputs + `(#:skip-build? #t + #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-wayland-client" ,rust-wayland-client-0.23) ("rust-wayland-commons" ,rust-wayland-commons-0.23) ("rust-wayland-server" ,rust-wayland-server-0.23) - ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))))) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))) + (inputs `()))) (define-public rust-wayland-protocols-0.21 (package From fb6f926193b3f63a2cd4ab539cbffae68b96da67 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 14:40:29 +0200 Subject: [PATCH 0658/1003] gnu: rust-wayland-scanner-0.28: Adapt for new build system. * gnu/packages/crates-graphics.scm (rust-wayland-scanner-0.28): [arguments]: Don't skip build. Remove cargo-inputs. [inputs]: Add rust-proc-macro2-1, rust-quote-1, rust-xml-rs-0.8. (rust-wayland-scanner-0.23): Adjust accordingly. --- gnu/packages/crates-graphics.scm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index dfc85de4de..71719fe3ed 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -2620,12 +2620,10 @@ extensions.") (sha256 (base32 "0g8ky63qk27in7zajycj3fyydsxlj19hanfcvr8d7z5kcxbvl43h")))) (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-1) - ("rust-quote" ,rust-quote-1) - ("rust-xml-rs" ,rust-xml-rs-0.8)))) + (inputs + `(("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-xml-rs" ,rust-xml-rs-0.8))) (home-page "https://github.com/smithay/wayland-rs") (synopsis "Generate Rust APIs from XML Wayland protocol files") (description @@ -2650,7 +2648,8 @@ wayland-client crate for usable bindings.") (base32 "0g8wcphykjrcpslznyi3qccx1pckw97rckq5b295nfbg6r3j5c4k")))) (arguments - `(#:cargo-inputs + `(#:skip-build? #t + #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-0.4) ("rust-quote" ,rust-quote-0.6) ("rust-xml-rs" ,rust-xml-rs-0.8)))))) From 6f655caf42f52568180bbeee382c955abf0838cf Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 14:42:46 +0200 Subject: [PATCH 0659/1003] gnu: rust-wayland-server-0.28: Adapt for new build system. * gnu/packages/crates-graphics.scm (rust-wayland-server-0.28) [arguments]: Don't skip build. Remove rust-wayland-commons-0.28, rust-wayland-scanner-0.28, rust-wayland-sys-0.28 from cargo-inputs. [inputs]: Add rust-bitflags-1, rust-downcast-rs-1, rust-lazy-static-1, rust-libc-0.2, rust-nix-0.18, rust-parking-lot-0.18, rust-scoped-tls-1, rust-wayland-commons-0.28, rust-wayland-scanner-0.28, rust-wayland-sys-0.28. (rust-wayland-server-0.23): Adjust accordingly. --- gnu/packages/crates-graphics.scm | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index 71719fe3ed..e0bca86647 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -2682,18 +2682,25 @@ wayland-client crate for usable bindings.") (base32 "09jfdjfqhjfcpiz4csgh60ymfkmz1cl3jmxyzq9hzcp0kyyxix93")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-downcast-rs" ,rust-downcast-rs-1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-libc" ,rust-libc-0.2) ("rust-nix" ,rust-nix-0.18) ("rust-parking-lot" ,rust-parking-lot-0.11) - ("rust-scoped-tls" ,rust-scoped-tls-1) - ("rust-wayland-commons" ,rust-wayland-commons-0.28) - ("rust-wayland-scanner" ,rust-wayland-scanner-0.28) - ("rust-wayland-sys" ,rust-wayland-sys-0.28)))) + ("rust-scoped-tls" ,rust-scoped-tls-1)))) + (inputs + `(("rust-bitflags" ,rust-bitflags-1) + ("rust-downcast-rs" ,rust-downcast-rs-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-nix" ,rust-nix-0.18) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-scoped-tls" ,rust-scoped-tls-1) + ("rust-wayland-commons" ,rust-wayland-commons-0.28) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.28) + ("rust-wayland-sys" ,rust-wayland-sys-0.28))) (home-page "https://github.com/smithay/wayland-rs") (synopsis "Bindings to the standard C implementation of the wayland protocol") @@ -2717,7 +2724,8 @@ the wayland protocol, server side.") (base32 "1ccsalq6gnf07klnbjx2dxcbibhw03rqsgi578p913s3zsjlcg8a")))) (arguments - `(#:cargo-inputs + `(#:skip-build? #t + #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-calloop" ,rust-calloop-0.4) ("rust-downcast-rs" ,rust-downcast-rs-1) @@ -2726,7 +2734,8 @@ the wayland protocol, server side.") ("rust-nix" ,rust-nix-0.14) ("rust-wayland-commons" ,rust-wayland-commons-0.23) ("rust-wayland-sys" ,rust-wayland-sys-0.23) - ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))))) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))) + (inputs `()))) (define-public rust-wayland-server-0.21 (package From 87d747860d9d388438cc992f4cf83e5d7bc893b2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 14:43:57 +0200 Subject: [PATCH 0660/1003] gnu: rust-winit-0.24: Adapt for new build system. * gnu/packages/crates-graphics.scm (rust-winit-0.24)[arguments]: Move rust-wayland-client-0.28 from cargo-inputs ... [inputs]: ... to here. --- gnu/packages/crates-graphics.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index e0bca86647..c5246d0c26 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -2882,10 +2882,11 @@ crate @code{rust-wayland-client} for usable bindings.") ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.12) ("rust-stdweb" ,rust-stdweb-0.4) ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) - ("rust-wayland-client" ,rust-wayland-client-0.28) ("rust-web-sys" ,rust-web-sys-0.3) ("rust-winapi" ,rust-winapi-0.3) ("rust-x11-dl" ,rust-x11-dl-2)))) + (inputs + `(("rust-wayland-client" ,rust-wayland-client-0.28))) (home-page "https://github.com/rust-windowing/winit") (synopsis "Window creation library") (description From 190e94b27830ddef27d36e63d0879245f619a9b5 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 14:45:37 +0200 Subject: [PATCH 0661/1003] gnu: rust-glutin-0.26: Adapt for new build system. * gnu/packages/crates-graphics.scm (rust-glutin-0.26) [arguments]: Don't skip build. Remove rust-wayland-client-0.28 from cargo-inputs. [inputs]: Add rust-wayland-client-0.28, rust-wayland-egl-0.28. --- gnu/packages/crates-graphics.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index c5246d0c26..3485e53938 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -907,8 +907,7 @@ EUI-64, also known as MAC-48 media access control addresses.") (base32 "18szbh4dixcr7pmymvbrpv21hv0wrpii5w03rv2534bb2ywwpq8s")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-android-glue" ,rust-android-glue-0.2) ("rust-cgl" ,rust-cgl-0.3) ("rust-cocoa" ,rust-cocoa-0.23) @@ -924,10 +923,12 @@ EUI-64, also known as MAC-48 media access control addresses.") ("rust-objc" ,rust-objc-0.2) ("rust-osmesa-sys" ,rust-osmesa-sys-0.1) ("rust-parking-lot" ,rust-parking-lot-0.11) - ("rust-wayland-client" ,rust-wayland-client-0.28) ("rust-wayland-egl" ,rust-wayland-egl-0.28) ("rust-winapi" ,rust-winapi-0.3) ("rust-winit" ,rust-winit-0.24)))) + (inputs + `(("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-wayland-egl" ,rust-wayland-egl-0.28))) (home-page "https://github.com/tomaka/glutin") (synopsis "Cross-platform OpenGL context provider") (description "This package provides an OpenGL context provider.") From f69a3fe28cd97c0aa56367d4d6fb140597c0756b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 14:47:23 +0200 Subject: [PATCH 0662/1003] gnu: alacritty: Use packaged rust-wayland-client. * gnu/packages/terminals.scm (alacritty)[arguments]: Remove rust-wayland-client-0.28 from cargo-inputs. In custom 'add-absolute-library-references remove substitutions for rust-wayland-client. [inputs]: Add rust-wayland-client-0.28. --- gnu/packages/terminals.scm | 28 +++------------------------- 1 file changed, 3 insertions(+), 25 deletions(-) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 1a465305de..d1a343e193 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -1250,7 +1250,6 @@ made by suckless.") ("rust-time" ,rust-time-0.1) ("rust-unicode-width" ,rust-unicode-width-0.1) ("rust-urlocator" ,rust-urlocator-0.1) - ("rust-wayland-client" ,rust-wayland-client-0.28) ("rust-winapi" ,rust-winapi-0.3) ("rust-x11-dl" ,rust-x11-dl-2) ("rust-xdg" ,rust-xdg-2)) @@ -1269,13 +1268,7 @@ made by suckless.") (smithay-client-toolkit-src (string-append smithay-client-toolkit-name "-" smithay-client-toolkit-version ".tar.gz/src")) - (wayland-sys-name ,(package-name rust-wayland-sys-0.28)) - (wayland-sys-version ,(package-version rust-wayland-sys-0.28)) - (wayland-sys-src (string-append wayland-sys-name "-" - wayland-sys-version - ".tar.gz/src")) (libxkbcommon (assoc-ref inputs "libxkbcommon")) - (libwayland (assoc-ref inputs "wayland")) (mesa (assoc-ref inputs "mesa"))) ;; Fix dlopen()ing some libraries on pure Wayland (no $DISPLAY): ;; Failed to initialize any backend! Wayland status: NoWaylandLib @@ -1288,22 +1281,6 @@ made by suckless.") "/seat/keyboard/ffi.rs") (("libxkbcommon\\.so") (string-append libxkbcommon "/lib/libxkbcommon.so"))) - (substitute* (string-append vendor-dir "/" wayland-sys-src - "/server.rs") - (("libwayland-server\\.so") - (string-append libwayland "/lib/libwayland-server.so"))) - (substitute* (string-append vendor-dir "/" wayland-sys-src - "/cursor.rs") - (("libwayland-cursor\\.so") - (string-append libwayland "/lib/libwayland-cursor.so"))) - (substitute* (string-append vendor-dir "/" wayland-sys-src - "/egl.rs") - (("libwayland-egl\\.so") - (string-append libwayland "/lib/libwayland-egl.so"))) - (substitute* (string-append vendor-dir "/" wayland-sys-src - "/client.rs") - (("libwayland-client\\.so") - (string-append libwayland "/lib/libwayland-client.so"))) ;; Mesa is needed everywhere. (substitute* @@ -1367,8 +1344,9 @@ made by suckless.") ("libxkbcommon" ,libxkbcommon) ("libxrandr" ,libxrandr) ("libxxf86vm" ,libxxf86vm) - ("wayland" ,wayland) - ("mesa" ,mesa))) + ("mesa" ,mesa) + ("rust-wayland-client" ,rust-wayland-client-0.28) + ("wayland" ,wayland))) (native-search-paths ;; FIXME: This should only be located in 'ncurses'. Nonetheless it is ;; provided for usability reasons. See . From 647dfa788e9dc0895481aa98e351a8b2bdf0f688 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 14:52:06 +0200 Subject: [PATCH 0663/1003] gnu: rust-lazy-static-1: Adapt for new build system. * gnu/packages/crates-io.scm (rust-lazy-static-1)[inputs]: Add rust-spin-0.5. --- gnu/packages/crates-io.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index fc5dd72de2..7a6cbec992 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -20851,6 +20851,8 @@ generated by LALRPOP.") `(#:cargo-inputs (("rust-spin" ,rust-spin-0.5)) #:cargo-development-inputs (("rust-doc-comment" ,rust-doc-comment-0.3)))) + (inputs + `(("rust-spin" ,rust-spin-0.5))) (home-page "https://github.com/rust-lang-nursery/lazy-static.rs") (synopsis "Macro for declaring lazily evaluated statics in Rust") (description From a4bbebb2b35af4b49a67f753a744f4e8b4deb97a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 15:11:52 +0200 Subject: [PATCH 0664/1003] gnu: rust-dirs-sys-0.3: Adapt for new build system. * gnu/packages/crates-io.scm (rust-dirs-sys-0.3)[inputs]: Add rust-cfg-if-0.1, rust-libc-0.2, rust-redox-users-0.3, rust-winapi-0.3. --- gnu/packages/crates-io.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 7a6cbec992..ac75c7591d 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -11801,6 +11801,11 @@ other data.") ("rust-libc" ,rust-libc-0.2) ("rust-redox-users" ,rust-redox-users-0.3) ("rust-winapi" ,rust-winapi-0.3)))) + (inputs + `(("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-redox-users" ,rust-redox-users-0.3) + ("rust-winapi" ,rust-winapi-0.3))) (home-page "https://github.com/soc/dirs-sys-rs") (synopsis "System-level helper functions for the dirs and directories crates") From ca3b97baaa7125fdcda17c046e10720a88199601 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 15:12:32 +0200 Subject: [PATCH 0665/1003] gnu: rust-dirs-2: Adapt for new build system. * gnu/packages/crates-io.scm (rust-dirs-2)[inputs]: Add rust-cfg-if-0.1, rust-dirs-sys-0.3. --- gnu/packages/crates-io.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index ac75c7591d..299a2d1443 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -11712,7 +11712,10 @@ standard locations of directories for config, cache and other data.") (arguments `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-0.1) - ("rust-dirs-sys" ,rust-dirs-sys-0.3)))))) + ("rust-dirs-sys" ,rust-dirs-sys-0.3)))) + (inputs + `(("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-dirs-sys" ,rust-dirs-sys-0.3))))) (define-public rust-dirs-1 (package From 4ce712aca41fec9845d0a112eb9603f93b8c32eb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 15 Mar 2021 15:14:02 +0200 Subject: [PATCH 0666/1003] gnu: alacritty: Use more packaged rust libraries. * gnu/packages/terminals.scm (alacritty)[arguments]: Move rust-bitflags-1, rust-dirs-2, rust-libc-0.2, rust-unicode-width-0.1, rust-winapi-0.3 from cargo-inputs ... [inputs]: ... to here. --- gnu/packages/terminals.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index d1a343e193..f4c97e0002 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -1225,19 +1225,16 @@ made by suckless.") #:cargo-inputs (("rust-alacritty-config-derive" ,rust-alacritty-config-derive-0.1) ("rust-alacritty-terminal" ,rust-alacritty-terminal-0.12) - ("rust-bitflags" ,rust-bitflags-1) ("rust-clap" ,rust-clap-2) ("rust-cocoa" ,rust-cocoa-0.24) ("rust-copypasta" ,rust-copypasta-0.7) ("rust-crossfont" ,rust-crossfont-0.2) - ("rust-dirs" ,rust-dirs-2) ("rust-embed-resource" ,rust-embed-resource-1) ("rust-fnv" ,rust-fnv-1) ("rust-gl-generator" ,rust-gl-generator-0.14) ;; XXX: Adjust `add-absolute-library-references' phase when updating ;; glutin input. ("rust-glutin" ,rust-glutin-0.26) - ("rust-libc" ,rust-libc-0.2) ("rust-log" ,rust-log-0.4) ("rust-notify" ,rust-notify-4) ("rust-objc" ,rust-objc-0.2) @@ -1248,9 +1245,7 @@ made by suckless.") ("rust-serde-json" ,rust-serde-json-1) ("rust-serde-yaml" ,rust-serde-yaml-0.8) ("rust-time" ,rust-time-0.1) - ("rust-unicode-width" ,rust-unicode-width-0.1) ("rust-urlocator" ,rust-urlocator-0.1) - ("rust-winapi" ,rust-winapi-0.3) ("rust-x11-dl" ,rust-x11-dl-2) ("rust-xdg" ,rust-xdg-2)) #:phases @@ -1345,7 +1340,12 @@ made by suckless.") ("libxrandr" ,libxrandr) ("libxxf86vm" ,libxxf86vm) ("mesa" ,mesa) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-dirs" ,rust-dirs-2) + ("rust-libc" ,rust-libc-0.2) + ("rust-unicode-width" ,rust-unicode-width-0.1) ("rust-wayland-client" ,rust-wayland-client-0.28) + ("rust-winapi" ,rust-winapi-0.3) ("wayland" ,wayland))) (native-search-paths ;; FIXME: This should only be located in 'ncurses'. Nonetheless it is From b45c625f10de2d8579dc6faa7c99c0915b8863c2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 15:02:16 +0100 Subject: [PATCH 0667/1003] gnu: r-deseq2: Update to 1.30.1. * gnu/packages/bioconductor.scm (r-deseq2): Update to 1.30.1. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index c4df090a05..7e66308f33 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1604,14 +1604,14 @@ analysis.") (define-public r-deseq2 (package (name "r-deseq2") - (version "1.30.0") + (version "1.30.1") (source (origin (method url-fetch) (uri (bioconductor-uri "DESeq2" version)) (sha256 (base32 - "0q2f9cywrcmp1p7ii8f45g4dk4hsnjflq3yqhsxgnpv9fw338qpp")))) + "1i0jpzsm1vl7q6qdmplj45w13lsaycxrx5pazlanjba2khn79k19")))) (properties `((upstream-name . "DESeq2"))) (build-system r-build-system) (propagated-inputs From fa227c9640e95de45c6ad12a6bec7ee5c9d503ed Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 15:02:23 +0100 Subject: [PATCH 0668/1003] gnu: r-genomeinfodb: Update to 1.26.4. * gnu/packages/bioconductor.scm (r-genomeinfodb): Update to 1.26.4. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 7e66308f33..6feb3d8c16 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1743,13 +1743,13 @@ high-throughput sequencing experiments.") (define-public r-genomeinfodb (package (name "r-genomeinfodb") - (version "1.26.2") + (version "1.26.4") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomeInfoDb" version)) (sha256 (base32 - "092izc49maxjhf6m4b0qx21ad16dz7bmxy5pysp3vkyhdrfa2f7v")))) + "1sbhdpgabqbi749ixih8nlmq5id7sg8y6kkfj46r00642rc293ys")))) (properties `((upstream-name . "GenomeInfoDb"))) (build-system r-build-system) From ee61edb6215e78445e1b4470a6970eca715ebc8a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 15:02:26 +0100 Subject: [PATCH 0669/1003] gnu: r-reportingtools: Update to 2.30.2. * gnu/packages/bioconductor.scm (r-reportingtools): Update to 2.30.2. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 6feb3d8c16..0e059f1e1c 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1907,14 +1907,14 @@ region sets and other genomic features.") (define-public r-reportingtools (package (name "r-reportingtools") - (version "2.30.0") + (version "2.30.2") (source (origin (method url-fetch) (uri (bioconductor-uri "ReportingTools" version)) (sha256 (base32 - "0gkshdhx44yjffqf1xmvik7j5hlhszp1n9ckanaws9ky3iia8j31")))) + "1vvra7l29s7lnq996nwlpzbkrbdkr3ivkgmfp4kndfykxsl9q4vb")))) (properties `((upstream-name . "ReportingTools"))) (build-system r-build-system) From 11dc49afc2c892b27365c77b101e1566345f2372 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 15:02:29 +0100 Subject: [PATCH 0670/1003] gnu: r-diffbind: Update to 3.0.14. * gnu/packages/bioconductor.scm (r-diffbind): Update to 3.0.14. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 0e059f1e1c..3f9b2e4265 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -2297,14 +2297,14 @@ signal in the input, that lead to spurious peaks during peak calling.") (define-public r-diffbind (package (name "r-diffbind") - (version "3.0.13") + (version "3.0.14") (source (origin (method url-fetch) (uri (bioconductor-uri "DiffBind" version)) (sha256 (base32 - "0kxn59v93hl5pq8d156lnbz0sslpnxyjcfrvq2gzgd91sd587qmn")))) + "1siabhjd0w7bb6v2gfhsm9j7c7c86z8m6lfsyl8p84h0zhjs2vrw")))) (properties `((upstream-name . "DiffBind"))) (build-system r-build-system) (propagated-inputs From fa6bb614c8438eb57a05f19ac2a2f1cef167f7d8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 15:02:33 +0100 Subject: [PATCH 0671/1003] gnu: r-cytoml: Update to 2.2.2. * gnu/packages/bioconductor.scm (r-cytoml): Update to 2.2.2. [inputs]: Add zlib. --- gnu/packages/bioconductor.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 3f9b2e4265..3a59333576 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -6999,14 +6999,14 @@ sequential way to mimic the manual gating strategy.") (define-public r-cytoml (package (name "r-cytoml") - (version "2.2.1") + (version "2.2.2") (source (origin (method url-fetch) (uri (bioconductor-uri "CytoML" version)) (sha256 (base32 - "1d8x49aqc95x1vx456hya5r7mal80pj9l6wmr5x5pb5r8qyzz6yq")))) + "0ckjb7bkz0cy46scrv4vl9w37g54c0yihvzmbkzilip1ikpvhxd1")))) (properties `((upstream-name . "CytoML"))) (build-system r-build-system) (arguments @@ -7021,7 +7021,8 @@ sequential way to mimic the manual gating strategy.") (string-append match "/libhdf5.a"))) #t))))) (inputs - `(("libxml2" ,libxml2))) + `(("libxml2" ,libxml2) + ("zlib" ,zlib))) (propagated-inputs `(("r-base64enc" ,r-base64enc) ("r-bh" ,r-bh) From 1ada8ea96ca1bcc6bec8f7b83137df866e5455f2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 15:02:36 +0100 Subject: [PATCH 0672/1003] gnu: r-scater: Update to 1.18.6. * gnu/packages/bioconductor.scm (r-scater): Update to 1.18.6. --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 3a59333576..d611f3a491 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -9857,13 +9857,13 @@ of other packages.") (define-public r-scater (package (name "r-scater") - (version "1.18.3") + (version "1.18.6") (source (origin (method url-fetch) (uri (bioconductor-uri "scater" version)) (sha256 (base32 - "14f7yw277nykxmcm7wlhlsf3nizpwzz24hax1icx73lavfxmc535")))) + "0k1ls5gqv1zsn1w2kszhmbhwfccfjw8khk36s5zbf90rbbkw5609")))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) From f10f2745eb1ec38eae5c41323f31980d2dd1f38c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 15:02:40 +0100 Subject: [PATCH 0673/1003] gnu: r-delayedarray: Update to 0.16.2. * gnu/packages/bioinformatics.scm (r-delayedarray): Update to 0.16.2. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 78df3091fe..996a3614e7 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7966,13 +7966,13 @@ tab-delimited (tabix) files.") (define-public r-delayedarray (package (name "r-delayedarray") - (version "0.16.1") + (version "0.16.2") (source (origin (method url-fetch) (uri (bioconductor-uri "DelayedArray" version)) (sha256 (base32 - "1d75zrhha1v7dhbvjp6a4iap441l5k268w0jjxklpqywbqns7l3d")))) + "09lpj951v1afxkrnjvnhzp4qgklq23ykdwlny7k1lyfcdy9q6wm0")))) (properties `((upstream-name . "DelayedArray"))) (build-system r-build-system) From 14204d696c6fc0e49be93981328bc5148907aee7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 15:02:43 +0100 Subject: [PATCH 0674/1003] gnu: r-genomicfeatures: Update to 1.42.2. * gnu/packages/bioinformatics.scm (r-genomicfeatures): Update to 1.42.2. --- gnu/packages/bioinformatics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 996a3614e7..d9afe2c56f 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -8114,13 +8114,13 @@ as well as query and modify the browser state, such as the current viewport.") (define-public r-genomicfeatures (package (name "r-genomicfeatures") - (version "1.42.1") + (version "1.42.2") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicFeatures" version)) (sha256 (base32 - "17dyd9hcw6pw16y353dh55wfhxmkxka99lbsxsp9xyrhffwrxi0s")))) + "17ns5hvx5q8mrmkgb6linspwml62mi34i6al5bxlib5xi9d9f04s")))) (properties `((upstream-name . "GenomicFeatures"))) (build-system r-build-system) From f9e016baec766eb7985c978951a346d399ff3f36 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 15:23:50 +0100 Subject: [PATCH 0675/1003] gnu: libpinyin: Update to 2.6.0. * gnu/packages/ibus.scm (libpinyin): Update to 2.6.0. --- gnu/packages/ibus.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index ecf33cb570..930381fe09 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2016 Chris Marusich ;;; Copyright © 2017, 2018 Efraim Flashner @@ -224,7 +224,7 @@ ZhuYin (Bopomofo) input method based on libpinyin for IBus.") (define-public libpinyin (package (name "libpinyin") - (version "2.3.0") + (version "2.6.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/libpinyin/libpinyin/" @@ -232,7 +232,7 @@ ZhuYin (Bopomofo) input method based on libpinyin for IBus.") "/libpinyin-" version ".tar.gz")) (sha256 (base32 - "14969v6w8n1aiqphl2386dws7dmsdwbzyqnlz4kr8ppm39m9rp5k")))) + "10h5mjgv4ibhispvr3s1k36a4aclx4dcvcc2knd4sg1xibw0dp4w")))) (build-system gnu-build-system) (inputs `(("glib" ,glib) From 266d55dc3080475544bf45e72359c9b9bbcecd53 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 15:24:01 +0100 Subject: [PATCH 0676/1003] gnu: ibus-libpinyin: Update to 1.12.0. * gnu/packages/ibus.scm (ibus-libpinyin): Update to 1.12.0. [arguments]: Enable opencc; include setup files on PYTHONPATH; override PYTHONPATH instead of prefixing. [inputs]: Add opencc; remove python-pyxdg. [license]: Change to GPLv3+. --- gnu/packages/ibus.scm | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index 930381fe09..e6001efa7f 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -174,7 +174,7 @@ may also simplify input method development.") (define-public ibus-libpinyin (package (name "ibus-libpinyin") - (version "1.11.1") + (version "1.12.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/libpinyin/ibus-libpinyin/" @@ -182,10 +182,12 @@ may also simplify input method development.") "/ibus-libpinyin-" version ".tar.gz")) (sha256 (base32 - "1bl1cgicd2df797dx1x0q904438bsn8i23djzcfcai4dp3631xc0")))) + "0xl2lmffy42f6h6za05z4vpazpza1a9gsrva65giwyv3kpf652dd")))) (build-system glib-or-gtk-build-system) (arguments - `(#:phases + `(#:configure-flags + '("--enable-opencc") + #:phases (modify-phases %standard-phases (add-after 'wrap-program 'wrap-with-additional-paths (lambda* (#:key inputs outputs #:allow-other-keys) @@ -193,21 +195,25 @@ may also simplify input method development.") ;; PYTHONPATH and GI_TYPELIB_PATH. (let ((out (assoc-ref outputs "out"))) (wrap-program (string-append out "/libexec/ibus-setup-libpinyin") - `("PYTHONPATH" ":" prefix + `("PYTHONPATH" ":" = (,(getenv "PYTHONPATH") ,(string-append (assoc-ref inputs "ibus") - "/lib/girepository-1.0"))) + "/lib/girepository-1.0") + ,(string-append (assoc-ref outputs "out") + "/share/ibus-libpinyin/setup/"))) `("GI_TYPELIB_PATH" ":" prefix (,(string-append (assoc-ref inputs "ibus") - "/lib/girepository-1.0")))) + "/lib/girepository-1.0") + ,(string-append (assoc-ref outputs "out") + "/share/ibus-libpinyin/setup/")))) #t)))))) (inputs `(("ibus" ,ibus) ("libpinyin" ,libpinyin) ("bdb" ,bdb) ("sqlite" ,sqlite) + ("opencc" ,opencc) ("python" ,python) - ("pyxdg" ,python-pyxdg) ("pygobject2" ,python-pygobject) ("gtk+" ,gtk+))) (native-inputs @@ -219,7 +225,7 @@ may also simplify input method development.") "This package includes a Chinese pinyin input method and a Chinese ZhuYin (Bopomofo) input method based on libpinyin for IBus.") (home-page "https://github.com/libpinyin/ibus-libpinyin") - (license gpl2+))) + (license gpl3+))) (define-public libpinyin (package From 20d090f43552e1e397a9eeb6ea2411976511b1cb Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 15 Mar 2021 20:31:12 +0100 Subject: [PATCH 0677/1003] gnu: sudo: Update to 1.9.6p1. * gnu/packages/admin.scm (sudo): Update to 1.9.6p1. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index e938d1bdac..407ab4165c 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1495,7 +1495,7 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.9.6") + (version "1.9.6p1") (source (origin (method url-fetch) (uri @@ -1505,7 +1505,7 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "0m9szw1fxj319z7d2j9nm04cbwk0flczwp1v4zb7sbndj825ijb2")) + "146alf6cwnzjcckia8m0ibcj9ram2z469f5z7v6vkzpsb30cvsd9")) (modules '((guix build utils))) (snippet '(begin From fcb122b4ed3f8e7fde815a843338921e5d8302b0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 14 Mar 2021 12:42:44 +0100 Subject: [PATCH 0678/1003] gnu: xterm: Fix uxterm in pure environments. * gnu/packages/xorg.scm (xterm)[arguments]: Add a 'patch-file-names phase. --- gnu/packages/xorg.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 28ee64b96a..0aa4411ddc 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -6087,7 +6087,19 @@ to answer a question. Xmessage can also exit after a specified time.") '(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts" "--enable-i18n" "--enable-doublechars" "--enable-luit" "--enable-mini-luit") - #:tests? #f)) + #:tests? #f ; no test suite + #:phases + (modify-phases %standard-phases + (add-after 'build 'patch-file-names + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "uxterm" + (("([ `\\|])(sh|sed|awk|xmessage) " _ prefix command) + (string-append prefix (which command) " ")) + (("(`|\"|LANG=C )(locale) " _ prefix command) + (string-append prefix (which command) " ")) + (("=xterm") + (string-append "=" out "/bin/xterm"))))))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs From 29e992c03001ce0c6b4a5ed33d9db7d9593cc23b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 22:05:43 +0100 Subject: [PATCH 0679/1003] gnu: r-seurat: Fix build. This is a follow-up to commit e4d4046999304a3693da80cf0fdfe5fd5753b2b7 * gnu/packages/cran.scm (r-seurat)[arguments]: Patch NAMESPACE file. --- gnu/packages/cran.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 3afe67f7cf..5617383cbc 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -26491,6 +26491,18 @@ other R users.") "1mp3py00bmzj4541d8ry5sfzkpfzvnl9dpa8n4qhakd13dl30xdn")))) (properties `((upstream-name . "Seurat"))) (build-system r-build-system) + ;; This is needed because r-spatstat has been split up and there has + ;; been no new release of Seurat since then. + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-spatstat-import + (lambda _ + (substitute* "NAMESPACE" + (("importFrom\\(spatstat,markvario\\)") + "importFrom(spatstat.core,markvario)") + (("importFrom\\(spatstat,ppp\\)") + "importFrom(spatstat.geom,ppp)"))))))) (propagated-inputs `(("r-cluster" ,r-cluster) ("r-cowplot" ,r-cowplot) From 3fe46eef57b068158b9efd1044fcdb581d2243a6 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 20 Feb 2021 13:27:58 -0500 Subject: [PATCH 0680/1003] gnu: qemu: Fix indentation and remove trailing #t. * gnu/packages/virtualization.scm (qemu): Fix indentation and remove trailing #t, appeasing 'guix lint'. --- gnu/packages/virtualization.scm | 78 ++++++++++++++++----------------- 1 file changed, 37 insertions(+), 41 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 3e15e72181..104cebced2 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -134,33 +134,34 @@ (package (name "qemu") (version "5.1.0") - (source (origin - (method url-fetch) - (uri (string-append "https://download.qemu.org/qemu-" - version ".tar.xz")) - (sha256 - (base32 - "1rd41wwlvp0vpialjp2czs6i3lsc338xc72l3zkbb7ixjfslw5y9")) - (patches (search-patches "qemu-build-info-manual.patch" - "qemu-CVE-2021-20203.patch")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Fix a bug in the do_ioctl_ifconf() function of qemu to - ;; make ioctl(…, SIOCGIFCONF, …) work for emulated 64 bit - ;; architectures. The size of struct ifreq is handled - ;; incorrectly. - ;; https://lists.nongnu.org/archive/html/qemu-devel/2021-01/msg01545.html - (substitute* '("linux-user/syscall.c") - (("^([[:blank:]]*)const argtype ifreq_arg_type.*$" line indent) - (string-append line indent - "const argtype ifreq_max_type[] = { MK_STRUCT(STRUCT_ifmap_ifreq) };\n")) - (("^([[:blank:]]*)target_ifreq_size[[:blank:]]=.*$" _ indent) - (string-append indent "target_ifreq_size = thunk_type_size(ifreq_max_type, 0);"))) - #t)))) - (outputs '("out" "doc")) ;4.7 MiB of HTML docs - (build-system gnu-build-system) - (arguments + (source + (origin + (method url-fetch) + (uri (string-append "https://download.qemu.org/qemu-" + version ".tar.xz")) + (sha256 + (base32 + "1rd41wwlvp0vpialjp2czs6i3lsc338xc72l3zkbb7ixjfslw5y9")) + (patches (search-patches "qemu-build-info-manual.patch" + "qemu-CVE-2021-20203.patch")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Fix a bug in the do_ioctl_ifconf() function of qemu to + ;; make ioctl(…, SIOCGIFCONF, …) work for emulated 64 bit + ;; architectures. The size of struct ifreq is handled + ;; incorrectly. + ;; https://lists.nongnu.org/archive/html/qemu-devel/2021-01/msg01545.html + (substitute* '("linux-user/syscall.c") + (("^([[:blank:]]*)const argtype ifreq_arg_type.*$" line indent) + (string-append line indent "const argtype ifreq_max_type[] = " + "{ MK_STRUCT(STRUCT_ifmap_ifreq) };\n")) + (("^([[:blank:]]*)target_ifreq_size[[:blank:]]=.*$" _ indent) + (string-append indent "target_ifreq_size = " + "thunk_type_size(ifreq_max_type, 0);"))))))) + (outputs '("out" "doc")) ;4.7 MiB of HTML docs + (build-system gnu-build-system) + (arguments `(;; FIXME: Disable tests on i686 to work around ;; . #:tests? ,(or (%current-target-system) @@ -194,8 +195,7 @@ inputs))) (set-path-environment-variable "C_INCLUDE_PATH" '("include") - input-directories) - #t))) + input-directories)))) (add-after 'unpack 'extend-test-time-outs (lambda _ ;; These tests can time out on heavily-loaded and/or slow storage. @@ -219,16 +219,14 @@ ;; x86 CPUs (see https://issues.guix.info/43048 and ;; https://bugs.launchpad.net/qemu/+bug/1896263). (("check-qtest-i386-y \\+= bios-tables-test" all) - (string-append "# " all))) - #t)) + (string-append "# " all))))) (add-after 'patch-source-shebangs 'patch-/bin/sh-references (lambda _ ;; Ensure the executables created by these source files reference ;; /bin/sh from the store so they work inside the build container. (substitute* '("block/cloop.c" "migration/exec.c" "net/tap.c" "tests/qtest/libqtest.c") - (("/bin/sh") (which "sh"))) - #t)) + (("/bin/sh") (which "sh"))))) (replace 'configure (lambda* (#:key inputs outputs (configure-flags '()) #:allow-other-keys) @@ -273,8 +271,7 @@ (format port "#!/bin/sh exec smbd $@"))) (chmod "samba-wrapper" #o755) - (install-file "samba-wrapper" libexec)) - #t)) + (install-file "samba-wrapper" libexec)))) (add-after 'install 'move-html-doc (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -282,23 +279,22 @@ exec smbd $@"))) (qemu-doc (string-append doc "/share/doc/qemu-" ,version))) (mkdir-p qemu-doc) (rename-file (string-append out "/share/doc/qemu") - (string-append qemu-doc "/html"))) - #t))))) - (inputs ; TODO: Add optional inputs. + (string-append qemu-doc "/html")))))))) + (inputs ; TODO: Add optional inputs. `(("alsa-lib" ,alsa-lib) ("attr" ,attr) ("glib" ,glib) ("gtk+" ,gtk+) ("libaio" ,libaio) ("libattr" ,attr) - ("libcacard" ,libcacard) ; smartcard support - ("libcap-ng" ,libcap-ng) ; virtfs support requires libcap-ng & libattr + ("libcacard" ,libcacard) ; smartcard support + ("libcap-ng" ,libcap-ng) ; virtfs support requires libcap-ng & libattr ("libdrm" ,libdrm) ("libepoxy" ,libepoxy) ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libseccomp" ,libseccomp) - ("libusb" ,libusb) ;USB pass-through support + ("libusb" ,libusb) ;USB pass-through support ("mesa" ,mesa) ("ncurses" ,ncurses) ;; ("pciutils" ,pciutils) From ce29866c01661693645daeba60657bf32bd3322b Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 20 Feb 2021 14:55:37 -0500 Subject: [PATCH 0681/1003] gnu: Add glib-static. * gnu/packages/glib.scm (glib-static): New variable. --- gnu/packages/glib.scm | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index eaa319a2ff..0d265e8687 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2017 Petter ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Alex Vong -;;; Copyright © 2019 Maxim Cournoyer +;;; Copyright © 2019, 2021 Maxim Cournoyer ;;; Copyright © 2019 Giacomo Leidi ;;; Copyright © 2019, 2020 Marius Bakke ;;; Copyright © 2020 Nicolò Balzarotti @@ -446,6 +446,34 @@ dynamic loading, and an object system.") (delete-file-recursively (string-append out html)) #t))))))))) +;;; TODO: Merge into glib as a 'static' output on core-updates. +(define-public glib-static + (hidden-package + (package + (inherit glib) + (name "glib-static") + (outputs '("out")) + (arguments + (substitute-keyword-arguments (package-arguments glib) + ((#:configure-flags flags ''()) + `(cons* "--default-library=static" + "-Dselinux=disabled" + "-Dman=false" + "-Dgtk_doc=false" + "-Dinternal_pcre=false" + ,flags)) + ((#:phases phases) + `(modify-phases ,phases + (delete 'move-executables) + (replace 'install + ;; Only install the static libraries. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib"))) + (for-each (lambda (f) + (install-file f lib)) + (find-files "." "\\.a$")))))))))))) + (define gobject-introspection (package (name "gobject-introspection") From d184fd42165a72221a1762dbb8651ff81534ac8c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 21 Feb 2021 21:16:39 -0500 Subject: [PATCH 0682/1003] gnu: qemu: Add a static output. The static output is equivalent to what other distributions commonly package as 'qemu-user-static'. * gnu/packages/virtualization.scm (qemu)[outputs]: Add a static output. [phases]{configure}: Configure the main build as an out-of-source build. Move all configure flags to ... [configure-flags]: ... here. The options explicitly enabling optional features are removed; the configure script does a good job at enabling all the features available based on the inputs present and this allows reusing the flags in variant packages such as qemu-minimal. {configure-user-static, build-user-static, install-user-static}: New phases. {patch-test-shebangs}: New phase, extracted from the configure phase. [native-inputs]: Add glib-static, pcre:static and zlib:static. (qemu-minimal)[arguments]: Reuse the configure-flags argument. Rewrite to use match instead of cond. --- gnu/packages/virtualization.scm | 171 ++++++++++++++++++++------------ 1 file changed, 106 insertions(+), 65 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 104cebced2..98aca1e301 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2020 Brice Waegeneire ;;; Copyright © 2020 Mathieu Othacehe ;;; Copyright © 2020 Marius Bakke -;;; Copyright © 2020 Maxim Cournoyer +;;; Copyright © 2020, 2021 Maxim Cournoyer ;;; Copyright © 2020 Brett Gilio ;;; ;;; This file is part of GNU Guix. @@ -83,6 +83,7 @@ #:use-module (gnu packages onc-rpc) #:use-module (gnu packages package-management) #:use-module (gnu packages perl) + #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages protobuf) @@ -118,6 +119,7 @@ #:use-module (guix packages) #:use-module (guix utils) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) #:use-module (ice-9 match)) (define (qemu-patch commit file-name sha256-bv) @@ -159,23 +161,30 @@ (("^([[:blank:]]*)target_ifreq_size[[:blank:]]=.*$" _ indent) (string-append indent "target_ifreq_size = " "thunk_type_size(ifreq_max_type, 0);"))))))) - (outputs '("out" "doc")) ;4.7 MiB of HTML docs + (outputs '("out" "static" "doc")) ;4.7 MiB of HTML docs (build-system gnu-build-system) (arguments - `(;; FIXME: Disable tests on i686 to work around - ;; . - #:tests? ,(or (%current-target-system) + ;; FIXME: Disable tests on i686 to work around + ;; . + `(#:tests? ,(or (%current-target-system) (not (string=? "i686-linux" (%current-system)))) - - #:configure-flags (list "--enable-usb-redir" "--enable-opengl" - "--enable-docs" - (string-append "--smbd=" - (assoc-ref %outputs "out") - "/libexec/samba-wrapper") - "--audio-drv-list=alsa,pa,sdl") + #:configure-flags + (let ((gcc (string-append (assoc-ref %build-inputs "gcc") "/bin/gcc")) + (out (assoc-ref %outputs "out"))) + (list (string-append "--cc=" gcc) + ;; Some architectures insist on using HOST_CC. + (string-append "--host-cc=" gcc) + (string-append "--prefix=" out) + "--sysconfdir=/etc" + (string-append "--smbd=" out "/libexec/samba-wrapper") + "--disable-debug-info" ;for space considerations + ;; The binaries need to be linked against -lrt. + (string-append "--extra-ldflags=-lrt"))) ;; Make build and test output verbose to facilitate investigation upon failure. #:make-flags '("V=1") #:modules ((srfi srfi-1) + (srfi srfi-26) + (ice-9 ftw) (ice-9 match) ,@%gnu-build-system-modules) #:phases @@ -220,6 +229,11 @@ ;; https://bugs.launchpad.net/qemu/+bug/1896263). (("check-qtest-i386-y \\+= bios-tables-test" all) (string-append "# " all))))) + (add-after 'unpack 'patch-test-shebangs + (lambda _ + (substitute* "tests/qemu-iotests/check" + (("#!/usr/bin/env python3") + (string-append "#!" (which "python3")))))) (add-after 'patch-source-shebangs 'patch-/bin/sh-references (lambda _ ;; Ensure the executables created by these source files reference @@ -228,37 +242,56 @@ "net/tap.c" "tests/qtest/libqtest.c") (("/bin/sh") (which "sh"))))) (replace 'configure - (lambda* (#:key inputs outputs (configure-flags '()) - #:allow-other-keys) + (lambda* (#:key inputs outputs configure-flags #:allow-other-keys) ;; The `configure' script doesn't understand some of the ;; GNU options. Thus, add a new phase that's compatible. (let ((out (assoc-ref outputs "out"))) (setenv "SHELL" (which "bash")) - - ;; While we're at it, patch for tests. - (substitute* "tests/qemu-iotests/check" - (("#!/usr/bin/env python3") - (string-append "#!" (which "python3")))) - ;; Ensure config.status gets the correct shebang off the bat. ;; The build system gets confused if we change it later and ;; attempts to re-run the whole configury, and fails. (substitute* "configure" (("#!/bin/sh") (string-append "#!" (which "sh")))) - - ;; The binaries need to be linked against -lrt. - (setenv "LDFLAGS" "-lrt") - (apply invoke - `("./configure" - ,(string-append "--cc=" (which "gcc")) - ;; Some architectures insist on using HOST_CC - ,(string-append "--host-cc=" (which "gcc")) - "--disable-debug-info" ; save build space - "--enable-virtfs" ; just to be sure - ,(string-append "--prefix=" out) - ,(string-append "--sysconfdir=/etc") - ,@configure-flags))))) + (mkdir-p "b/qemu") + (chdir "b/qemu") + (apply invoke "../../configure" configure-flags)))) + ;; Configure, build and install QEMU user-emulation static binaries. + (add-after 'configure 'configure-user-static + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((gcc (string-append (assoc-ref inputs "gcc") "/bin/gcc")) + (static (assoc-ref outputs "static")) + ;; This is the common set of configure flags; it is + ;; duplicated here to isolate this phase from manipulations + ;; to the #:configure-flags build argument, as done in + ;; derived packages such as qemu-minimal. + (configure-flags (list (string-append "--cc=" gcc) + (string-append "--host-cc=" gcc) + "--sysconfdir=/etc" + "--disable-debug-info"))) + (mkdir-p "../user-static") + (with-directory-excursion "../user-static" + (apply invoke "../../configure" + "--static" + "--disable-docs" ;already built + "--disable-system" + "--enable-linux-user" + (string-append "--prefix=" static) + configure-flags))))) + (add-after 'build 'build-user-static + (lambda args + (with-directory-excursion "../user-static" + (apply (assoc-ref %standard-phases 'build) args)))) + (add-after 'install 'install-user-static + (lambda* (#:key outputs #:allow-other-keys) + (let* ((static (assoc-ref outputs "static")) + (bin (string-append static "/bin"))) + (with-directory-excursion "../user-static" + (for-each (cut install-file <> bin) + (append-map (cut find-files <> "^qemu-") + (scandir "." + (cut string-suffix? + "-linux-user" <>)))))))) ;; Create a wrapper for Samba. This allows QEMU to use Samba without ;; pulling it in as an input. Note that you need to explicitly install ;; Samba in your Guix profile for Samba support. @@ -315,7 +348,12 @@ exec smbd $@"))) ("pkg-config" ,pkg-config) ("python-wrapper" ,python-wrapper) ("python-sphinx" ,python-sphinx) - ("texinfo" ,texinfo))) + ("texinfo" ,texinfo) + ;; The following static libraries are required to build + ;; the static output of QEMU. + ("glib-static" ,glib-static) + ("pcre:static" ,pcre "static") + ("zlib:static" ,zlib "static"))) (home-page "https://www.qemu.org") (synopsis "Machine emulator and virtualizer") (description @@ -340,46 +378,49 @@ server and embedded PowerPC, and S390 guests.") (define-public qemu-minimal ;; QEMU without GUI support, only supporting the host's architecture - (package (inherit qemu) + (package + (inherit qemu) (name "qemu-minimal") (synopsis "Machine emulator and virtualizer (without GUI) for the host architecture") (arguments (substitute-keyword-arguments (package-arguments qemu) - ((#:configure-flags _ '(list)) + ((#:configure-flags configure-flags '(list)) ;; Restrict to the host's architecture. - (let ((system (or (%current-target-system) - (%current-system)))) - (cond - ((string-prefix? "i686" system) - '(list "--target-list=i386-softmmu")) - ((string-prefix? "xasdf86_64" system) - '(list "--target-list=i386-softmmu,x86_64-softmmu")) - ((string-prefix? "mips64" system) - '(list (string-append "--target-list=mips-softmmu,mipsel-softmmu," - "mips64-softmmu,mips64el-softmmu"))) - ((string-prefix? "mips" system) - '(list "--target-list=mips-softmmu,mipsel-softmmu")) - ((string-prefix? "aarch64" system) - '(list "--target-list=arm-softmmu,aarch64-softmmu")) - ((string-prefix? "arm" system) - '(list "--target-list=arm-softmmu")) - ((string-prefix? "alpha" system) - '(list "--target-list=alpha-softmmu")) - ((string-prefix? "powerpc64" system) - '(list "--target-list=ppc-softmmu,ppc64-softmmu")) - ((string-prefix? "powerpc" system) - '(list "--target-list=ppc-softmmu")) - ((string-prefix? "s390" system) - '(list "--target-list=s390x-softmmu")) - ((string-prefix? "riscv" system) - '(list "--target-list=riscv32-softmmu,riscv64-softmmu")) - (else ; An empty list actually builds all the targets. - ''())))))) + (let* ((system (or (%current-target-system) + (%current-system))) + (target-list-arg + (match system + ((? (cut string-prefix? "i686" <>)) + "--target-list=i386-softmmu") + ((? (cut string-prefix? "x86_64" <>)) + "--target-list=i386-softmmu,x86_64-softmmu") + ((? (cut string-prefix? "mips64" <>)) + (string-append "--target-list=mips-softmmu,mipsel-softmmu," + "mips64-softmmu,mips64el-softmmu")) + ((? (cut string-prefix? "mips" <>)) + "--target-list=mips-softmmu,mipsel-softmmu") + ((? (cut string-prefix? "aarch64" <>)) + "--target-list=arm-softmmu,aarch64-softmmu") + ((? (cut string-prefix? "arm" <>)) + "--target-list=arm-softmmu") + ((? (cut string-prefix? "alpha" <>)) + "--target-list=alpha-softmmu") + ((? (cut string-prefix? "powerpc64" <>)) + "--target-list=ppc-softmmu,ppc64-softmmu") + ((? (cut string-prefix? "powerpc" <>)) + "--target-list=ppc-softmmu") + ((? (cut string-prefix? "s390" <>)) + "--target-list=s390x-softmmu") + ((? (cut string-prefix? "riscv" <>)) + "--target-list=riscv32-softmmu,riscv64-softmmu") + (else ; An empty list actually builds all the targets. + '())))) + `(cons ,target-list-arg ,configure-flags))))) ;; Remove dependencies on optional libraries, notably GUI libraries. (native-inputs (fold alist-delete (package-native-inputs qemu) - '("gettext"))) + '("gettext"))) (inputs (fold alist-delete (package-inputs qemu) '("libusb" "mesa" "sdl2" "spice" "virglrenderer" "gtk+" "usbredir" "libdrm" "libepoxy" "pulseaudio" "vde2" From 77c2f4e2068ebec3f384c826c5a99785125ff72c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 22 Feb 2021 08:55:39 -0500 Subject: [PATCH 0683/1003] services/qemu-binfmt: Use the F flag and the static output of QEMU. Fixes . Before this change, the 'binfmt_misc' entries registered for QEMU would not be usable in container contexts outside of guix-daemon (without manually bind mounting file names). For example: $ docker run --rm arm32v7/debian true standard_init_linux.go:207: exec user process caused "no such file or directory" After this change, any container can make use of the QEMU binfmt_misc registrations, as their corresponding QEMU static binaries are fully pre-loaded by the kernel. * gnu/services/virtualization.scm (): Define using 'define-record-type*'. [flags]: New field, which defaults to "F" (fix binary). (%i386, %i486, %alpha, %arm, %armeb, %sparc, %sparc32plus, %ppc, %ppc64) (%ppc64le, %m68k, %mips, %mipsel, %mipsn32, %mipsn32el, %mips64, %mips64el) (%riscv32, %riscv64, %sh4, %sh4eb, %s390x, %aarch64, %hppa): Adjust. (qemu-binfmt-guix-chroot): Remove variable. (qemu-binfmt-service-type): Remove the qemu-binfmt-guix-chroot extension. * gnu/services/qemu-binfmt (qemu-platform->binfmt): Use the static output of QEMU. * doc/contributing.texi (Submitting Patches): Update doc. * doc/guix.texi (Virtualization Services): Update doc. --- doc/contributing.texi | 1 - doc/guix.texi | 12 -- gnu/services/virtualization.scm | 227 ++++++++++++++++++-------------- 3 files changed, 129 insertions(+), 111 deletions(-) diff --git a/doc/contributing.texi b/doc/contributing.texi index c9dd7d6c04..e105467480 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -1016,7 +1016,6 @@ your @code{operating-system} configuration: (service qemu-binfmt-service-type (qemu-binfmt-configuration (platforms (lookup-qemu-platforms "arm" "aarch64")) - (guix-support? #t))) @end lisp Then reconfigure your system. diff --git a/doc/guix.texi b/doc/guix.texi index 3e7ffc81bc..e6ef7dbe03 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -28723,13 +28723,6 @@ This is the configuration for the @code{qemu-binfmt} service. The list of emulated QEMU platforms. Each item must be a @dfn{platform object} as returned by @code{lookup-qemu-platforms} (see below). -@item @code{guix-support?} (default: @code{#t}) -When it is true, QEMU and all its dependencies are added to the build -environment of @command{guix-daemon} (@pxref{Invoking guix-daemon, -@option{--chroot-directory} option}). This allows the @code{binfmt_misc} -handlers to be used within the build environment, which in turn means -that you can transparently build programs for another architecture. - For example, let's suppose you're on an x86_64 machine and you have this service: @@ -28737,7 +28730,6 @@ service: (service qemu-binfmt-service-type (qemu-binfmt-configuration (platforms (lookup-qemu-platforms "arm")) - (guix-support? #t))) @end lisp You can run: @@ -28752,10 +28744,6 @@ build}, transparently using QEMU to emulate the ARMv7 CPU@. Pretty handy if you'd like to test a package build for an architecture you don't have access to! -When @code{guix-support?} is set to @code{#f}, programs for other -architectures can still be executed transparently, but invoking commands -like @command{guix build -s armhf-linux @dots{}} will fail. - @item @code{qemu} (default: @code{qemu}) The QEMU package to use. @end table diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index a45da14a80..36e9feb05c 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -554,13 +554,14 @@ potential infinite waits blocking libvirt.")) ;;; ;; Platforms that QEMU can emulate. -(define-record-type - (qemu-platform name family magic mask) +(define-record-type* + qemu-platform make-qemu-platform qemu-platform? (name qemu-platform-name) ;string (family qemu-platform-family) ;string (magic qemu-platform-magic) ;bytevector - (mask qemu-platform-mask)) ;bytevector + (mask qemu-platform-mask) ;bytevector + (flags qemu-platform-flags (default "F"))) ;string (define-syntax bv (lambda (s) @@ -577,125 +578,173 @@ potential infinite waits blocking libvirt.")) ;;; 'scripts/qemu-binfmt-conf.sh' in QEMU. (define %i386 - (qemu-platform "i386" "i386" - (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00") - (bv "\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + (qemu-platform + (name "i386") + (family "i386") + (magic (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00")) + (mask (bv "\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) (define %i486 - (qemu-platform "i486" "i386" - (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00") - (bv "\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + (qemu-platform + (name "i486") + (family "i386") + (magic (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00")) + (mask (bv "\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) (define %alpha - (qemu-platform "alpha" "alpha" - (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x26\x90") - (bv "\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + (qemu-platform + (name "alpha") + (family "alpha") + (magic (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x26\x90")) + (mask (bv "\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) (define %arm - (qemu-platform "arm" "arm" - (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00") - (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + (qemu-platform + (name "arm") + (family "arm") + (magic (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) (define %armeb - (qemu-platform "armeb" "arm" - (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28") - (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + (qemu-platform + (name "armeb") + (family "arm") + (magic (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) (define %sparc - (qemu-platform "sparc" "sparc" - (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02") - (bv "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + (qemu-platform + (name "sparc") + (family "sparc") + (magic (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) (define %sparc32plus - (qemu-platform "sparc32plus" "sparc" - (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x12") - (bv "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + (qemu-platform + (name "sparc32plus") + (family "sparc") + (magic (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x12")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) (define %ppc - (qemu-platform "ppc" "ppc" - (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14") - (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + (qemu-platform + (name "ppc") + (family "ppc") + (magic (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) (define %ppc64 - (qemu-platform "ppc64" "ppc" - (bv "\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15") - (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + (qemu-platform + (name "ppc64") + (family "ppc") + (magic (bv "\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) (define %ppc64le - (qemu-platform "ppc64le" "ppcle" - (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15\x00") - (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\x00"))) + (qemu-platform + (name "ppc64le") + (family "ppcle") + (magic (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x15\x00")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\x00")))) (define %m68k - (qemu-platform "m68k" "m68k" - (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x04") - (bv "\xff\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + (qemu-platform + (name "m68k") + (family "m68k") + (magic (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x04")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) ;; XXX: We could use the other endianness on a MIPS host. (define %mips - (qemu-platform "mips" "mips" - (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08") - (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + (qemu-platform + (name "mips") + (family "mips") + (magic (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) (define %mipsel - (qemu-platform "mipsel" "mips" - (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00") - (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + (qemu-platform + (name "mipsel") + (family "mips") + (magic (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) (define %mipsn32 - (qemu-platform "mipsn32" "mips" - (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08") - (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + (qemu-platform + (name "mipsn32") + (family "mips") + (magic (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) (define %mipsn32el - (qemu-platform "mipsn32el" "mips" - (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00") - (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + (qemu-platform + (name "mipsn32el") + (family "mips") + (magic (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) (define %mips64 - (qemu-platform "mips64" "mips" - (bv "\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08") - (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + (qemu-platform + (name "mips64") + (family "mips") + (magic (bv "\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) (define %mips64el - (qemu-platform "mips64el" "mips" - (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00") - (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + (qemu-platform + (name "mips64el") + (family "mips") + (magic (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) (define %riscv32 - (qemu-platform "riscv32" "riscv" - (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00") - (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + (qemu-platform + (name "riscv32") + (family "riscv") + (magic (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) (define %riscv64 - (qemu-platform "riscv64" "riscv" - (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00") - (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + (qemu-platform + (name "riscv64") + (family "riscv") + (magic (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) (define %sh4 - (qemu-platform "sh4" "sh4" - (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00") - (bv "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + (qemu-platform + (name "sh4") + (family "sh4") + (magic (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) (define %sh4eb - (qemu-platform "sh4eb" "sh4" - (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a") - (bv "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + (qemu-platform + (name "sh4eb") + (family "sh4") + (magic (bv "\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) (define %s390x - (qemu-platform "s390x" "s390x" - (bv "\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16") - (bv "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + (qemu-platform + (name "s390x") + (family "s390x") + (magic (bv "\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) (define %aarch64 - (qemu-platform "aarch64" "arm" - (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00") - (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"))) + (qemu-platform + (name "aarch64") + (family "arm") + (magic (bv "\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) (define %hppa - (qemu-platform "hppa" "hppa" - (bv "\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x0f") - (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff"))) + (qemu-platform + (name "hppa") + (family "hppa") + (magic (bv "\x7f\x45\x4c\x46\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x0f")) + (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) (define %qemu-platforms (list %i386 %i486 %alpha %arm %sparc32plus %ppc %ppc64 %ppc64le %m68k @@ -715,9 +764,7 @@ potential infinite waits blocking libvirt.")) (qemu qemu-binfmt-configuration-qemu (default qemu)) (platforms qemu-binfmt-configuration-platforms - (default '())) ;safest default - (guix-support? qemu-binfmt-configuration-guix-support? - (default #t))) + (default '()))) ;safest default (define (qemu-platform->binfmt qemu platform) "Return a gexp that evaluates to a binfmt string for PLATFORM, using the @@ -733,14 +780,13 @@ given QEMU package." (bytevector->u8-list bv)))) (match platform - (($ name family magic mask) + (($ name family magic mask flags) ;; See 'Documentation/binfmt_misc.txt' in the kernel. #~(string-append ":qemu-" #$name ":M::" #$(bytevector->binfmt-string magic) ":" #$(bytevector->binfmt-string mask) - ":" #$(file-append qemu "/bin/qemu-" name) - ":" ;FLAGS go here - )))) + ":" #$qemu:static "/bin/qemu-" #$name + ":" #$flags)))) (define %binfmt-mount-point (file-system-mount-point %binary-format-file-system)) @@ -779,19 +825,6 @@ given QEMU package." '#$(map qemu-platform-name platforms)) #f))))))) -(define qemu-binfmt-guix-chroot - (match-lambda - ;; Add QEMU and its dependencies to the guix-daemon chroot so that our - ;; binfmt_misc handlers work in the chroot (otherwise 'execve' would fail - ;; with ENOENT.) - ;; - ;; The 'F' flag of binfmt_misc is meant to address this problem by loading - ;; the interpreter upfront rather than lazily, but apparently that is - ;; insufficient (perhaps it loads the 'qemu-ARCH' binary upfront but looks - ;; up its dependencies lazily?). - (($ qemu platforms guix?) - (if guix? (list qemu) '())))) - (define qemu-binfmt-service-type ;; TODO: Make a separate binfmt_misc service out of this? (service-type (name 'qemu-binfmt) @@ -800,9 +833,7 @@ given QEMU package." (const (list %binary-format-file-system))) (service-extension shepherd-root-service-type - qemu-binfmt-shepherd-services) - (service-extension guix-service-type - qemu-binfmt-guix-chroot))) + qemu-binfmt-shepherd-services))) (default-value (qemu-binfmt-configuration)) (description "This service supports transparent emulation of binaries From d15fdb66f33b5abf5f719bc87c27c94c206fc542 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 28 Nov 2020 00:33:13 -0500 Subject: [PATCH 0684/1003] gnu: qemu: Update to 5.2.0. * gnu/packages/virtualization.scm (qemu): Update to 5.2.0. [source]: Re-indent and break long lines, to appease 'guix lint'. [arguments]{disable-unusable-tests}: Adjust for the new Meson build system. Remove patching for a test workaround that has been resolved in 5.2.0. {patch-test-shebangs, patch-/bin/sh-references}: Combine into... {patch-embedded-shebangs}: ... this new phase. Patch the SHELL variable in the Makefile. {fix-optionrom-makefile}: New phase. {install-user-static}: Adjust as the binaries are now symbolic links pointing to their actual build path. [native-inputs]: Add ninja. * gnu/packages/patches/qemu-build-info-manual.patch: Update patch. Co-authored-by: Maxim Cournoyer Signed-off-by: Maxim Cournoyer --- .../patches/qemu-build-info-manual.patch | 203 ++++++++---------- gnu/packages/virtualization.scm | 51 +++-- 2 files changed, 121 insertions(+), 133 deletions(-) diff --git a/gnu/packages/patches/qemu-build-info-manual.patch b/gnu/packages/patches/qemu-build-info-manual.patch index d57b26ea00..c837040d45 100644 --- a/gnu/packages/patches/qemu-build-info-manual.patch +++ b/gnu/packages/patches/qemu-build-info-manual.patch @@ -1,90 +1,29 @@ -From 07303a0a4daa83a0555ac4abad7a5d65584307ad Mon Sep 17 00:00:00 2001 +From 2793f47c066ed396b38893c10533202fceb1a05f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 17 Sep 2020 13:28:19 -0400 -Subject: [PATCH] build: Build and install the info manual. +Subject: [PATCH] build: Build and install a Texinfo version of the manual. Take advantage of the Sphinx texinfo backend to generate a QEMU info -manual. The texinfo format allows for more structure and info readers +manual. The Texinfo format allows for more structure and info readers provide more advanced navigation capabilities compared to manpages readers. -* configure (infodir): Add the --infodir option, which allows +* configure (infodir): Add an --infodir option, which allows configuring the directory under which the info manuals are installed. -* docs/index.rst: Include the top level documents to prevent -warnings (treated as errors by sphinx-build). -* Makefile (sphinxdocs-info, $(MANUAL_BUILDDIR)/QEMU.texi)): New targets. -(info): Depend on sphinxdocs-info. -(install-doc): Install the info manual. ---- - Makefile | 13 +++++++++++-- - configure | 7 +++++++ - docs/index.rst | 2 ++ - 3 files changed, 20 insertions(+), 2 deletions(-) +* docs/meson.build (texi, info): New targets. + +Signed-off-by: Maxim Cournoyer +--- + configure | 7 ++++++- + docs/meson.build | 21 +++++++++++++++++++++ + meson.build | 2 ++ + 3 files changed, 29 insertions(+), 1 deletion(-) -diff --git a/Makefile b/Makefile -index 13dd708c..da78612d 100644 ---- a/Makefile -+++ b/Makefile -@@ -864,12 +864,14 @@ endef - # Note that we deliberately do not install the "devel" manual: it is - # for QEMU developers, and not interesting to our users. - .PHONY: install-sphinxdocs --install-sphinxdocs: sphinxdocs -+install-sphinxdocs: sphinxdocs sphinxdocs-info - $(call install-manual,interop) - $(call install-manual,specs) - $(call install-manual,system) - $(call install-manual,tools) - $(call install-manual,user) -+ $(INSTALL_DIR) "$(DESTDIR)$(infodir)" -+ $(INSTALL_DATA) $(MANUAL_BUILDDIR)/QEMU.info "$(DESTDIR)$(infodir)" - - install-doc: $(DOCS) install-sphinxdocs - $(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)" -@@ -1067,6 +1069,13 @@ sphinxdocs: $(MANUAL_BUILDDIR)/devel/index.html \ - $(MANUAL_BUILDDIR)/tools/index.html \ - $(MANUAL_BUILDDIR)/user/index.html - -+# Build the complete info manual. -+.PHONE: sphinxdocs-info -+sphinxdocs-info: $(MANUAL_BUILDDIR)/QEMU.info -+ -+$(MANUAL_BUILDDIR)/QEMU.texi: $(call manual-deps,*) $(wildcard $(SRC_PATH)/docs/*.rst) -+ $(call build-manual,,texinfo) -+ - # Canned command to build a single manual - # Arguments: $1 = manual name, $2 = Sphinx builder ('html' or 'man') - # Note the use of different doctree for each (manual, builder) tuple; -@@ -1126,7 +1135,7 @@ docs/interop/qemu-ga-qapi.texi: qga/qapi-generated/qga-qapi-doc.texi - @cp -p $< $@ - - html: docs/interop/qemu-qmp-ref.html docs/interop/qemu-ga-ref.html sphinxdocs --info: docs/interop/qemu-qmp-ref.info docs/interop/qemu-ga-ref.info -+info: docs/interop/qemu-qmp-ref.info docs/interop/qemu-ga-ref.info sphinxdocs-info - pdf: docs/interop/qemu-qmp-ref.pdf docs/interop/qemu-ga-ref.pdf - txt: docs/interop/qemu-qmp-ref.txt docs/interop/qemu-ga-ref.txt - diff --git a/configure b/configure -index 2acc4d14..3691bd2e 100755 +index 18c26e0389..d1ab2c19d1 100755 --- a/configure +++ b/configure -@@ -415,6 +415,7 @@ LDFLAGS_SHARED="-shared" - modules="no" - module_upgrades="no" - prefix="/usr/local" -+infodir="\${prefix}/share/info" - mandir="\${prefix}/share/man" - datadir="\${prefix}/share" - firmwarepath="\${prefix}/share/qemu-firmware" -@@ -987,6 +988,7 @@ if test "$mingw32" = "yes" ; then - LIBS="-liberty $LIBS" - fi - prefix="c:/Program Files/QEMU" -+ infodir="\${prefix}" - mandir="\${prefix}" - datadir="\${prefix}" - qemu_docdir="\${prefix}" -@@ -1087,6 +1089,8 @@ for opt do +@@ -948,6 +948,8 @@ for opt do static="yes" QEMU_PKG_CONFIG_FLAGS="--static $QEMU_PKG_CONFIG_FLAGS" ;; @@ -93,47 +32,89 @@ index 2acc4d14..3691bd2e 100755 --mandir=*) mandir="$optarg" ;; --bindir=*) bindir="$optarg" -@@ -1780,6 +1784,7 @@ Advanced options (experts only): +@@ -975,7 +977,7 @@ for opt do + --host=*|--build=*|\ + --disable-dependency-tracking|\ + --sbindir=*|--sharedstatedir=*|\ +- --oldincludedir=*|--datarootdir=*|--infodir=*|\ ++ --oldincludedir=*|--datarootdir=*|\ + --htmldir=*|--dvidir=*|--pdfdir=*|--psdir=*) + # These switches are silently ignored, for compatibility with + # autoconf-generated configure scripts. This allows QEMU's +@@ -1540,6 +1542,7 @@ includedir="${includedir:-$prefix/include}" + if test "$mingw32" = "yes" ; then + mandir="$prefix" + datadir="$prefix" ++ infodir="$prefix" + docdir="$prefix" + bindir="$prefix" + sysconfdir="$prefix" +@@ -1547,6 +1550,7 @@ if test "$mingw32" = "yes" ; then + else + mandir="${mandir:-$prefix/share/man}" + datadir="${datadir:-$prefix/share}" ++ infodir="${infodir:-$datadir/info}" + docdir="${docdir:-$prefix/share/doc}" + bindir="${bindir:-$prefix/bin}" + sysconfdir="${sysconfdir:-$prefix/etc}" +@@ -1683,6 +1687,7 @@ Advanced options (experts only): --smbd=SMBD use specified smbd [$smbd] --with-git=GIT use specified git [$git] --static enable static build [$static] + --infodir=PATH install info manual in PATH --mandir=PATH install man pages in PATH - --datadir=PATH install firmware in PATH$confsuffix - --docdir=PATH install documentation in PATH$confsuffix -@@ -6836,6 +6841,7 @@ echo "include directory $(eval echo $includedir)" - echo "config directory $(eval echo $sysconfdir)" - if test "$mingw32" = "no" ; then - echo "local state directory $(eval echo $local_statedir)" -+echo "Info manual directory $(eval echo $infodir)" - echo "Manual directory $(eval echo $mandir)" - echo "ELF interp prefix $interp_prefix" - else -@@ -7059,6 +7065,7 @@ echo "bindir=$bindir" >> $config_host_mak - echo "libdir=$libdir" >> $config_host_mak - echo "libexecdir=$libexecdir" >> $config_host_mak - echo "includedir=$includedir" >> $config_host_mak -+echo "infodir=$infodir" >> $config_host_mak - echo "mandir=$mandir" >> $config_host_mak - echo "sysconfdir=$sysconfdir" >> $config_host_mak - echo "qemu_confdir=$qemu_confdir" >> $config_host_mak -diff --git a/docs/index.rst b/docs/index.rst -index 763e3d04..4f155b51 100644 ---- a/docs/index.rst -+++ b/docs/index.rst -@@ -9,6 +9,7 @@ Welcome to QEMU's documentation! - .. toctree:: - :maxdepth: 2 - :caption: Contents: -+ :glob: + --datadir=PATH install firmware in PATH/$qemu_suffix + --localedir=PATH install translation in PATH/$qemu_suffix +diff --git a/docs/meson.build b/docs/meson.build +index ebd85d59f9..1243839461 100644 +--- a/docs/meson.build ++++ b/docs/meson.build +@@ -114,4 +114,25 @@ if build_docs + alias_target('sphinxdocs', sphinxdocs) + alias_target('html', sphinxdocs) + alias_target('man', sphinxmans) ++ ++ # Generate a Texinfo version of the QEMU manual. ++ makeinfo = find_program(['texi2any', 'makeinfo']) ++ if makeinfo.found() ++ sphinxtexi = custom_target( ++ 'QEMU manual generated texinfo source', ++ output: ['QEMU.texi', 'sphinxtexi.stamp'], ++ depfile: 'sphinxtexi.d', ++ command: [SPHINX_ARGS, '-Ddepfile=@DEPFILE@', ++ '-Ddepfile_stamp=@OUTPUT1@', '-b', 'texinfo', ++ meson.current_source_dir(), meson.current_build_dir()]) ++ sphinxinfo = custom_target( ++ 'QEMU info manual', ++ input: sphinxtexi, ++ output: 'QEMU.info', ++ install: true, ++ install_dir: get_option('infodir'), ++ command: [makeinfo, '@INPUT0@', '--output=@OUTPUT@']) ++ alias_target('texi', sphinxtexi) ++ alias_target('info', sphinxinfo) ++ endif + endif +diff --git a/meson.build b/meson.build +index e3386196ba..d64a125ad9 100644 +--- a/meson.build ++++ b/meson.build +@@ -32,6 +32,7 @@ endif + qemu_confdir = get_option('sysconfdir') / get_option('qemu_suffix') + qemu_datadir = get_option('datadir') / get_option('qemu_suffix') + qemu_docdir = get_option('docdir') / get_option('qemu_suffix') ++qemu_infodir = get_option('infodir') / get_option('qemu_suffix') + qemu_moddir = get_option('libdir') / get_option('qemu_suffix') - system/index - user/index -@@ -16,3 +17,4 @@ Welcome to QEMU's documentation! - interop/index - specs/index - devel/index -+ * + qemu_desktopdir = get_option('datadir') / 'applications' +@@ -1995,6 +1996,7 @@ else + summary_info += {'local state directory': 'queried at runtime'} + endif + summary_info += {'Doc directory': get_option('docdir')} ++summary_info += {'Info directory': get_option('infodir')} + summary_info += {'Build directory': meson.current_build_dir()} + summary_info += {'Source path': meson.current_source_dir()} + summary_info += {'GIT binary': config_host['GIT']} -- -2.28.0 +2.30.1 diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 98aca1e301..0558861173 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020, 2021 Maxim Cournoyer ;;; Copyright © 2020 Brett Gilio +;;; Copyright © 2021 Leo Famulari ;;; ;;; This file is part of GNU Guix. ;;; @@ -80,6 +81,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages nettle) #:use-module (gnu packages networking) + #:use-module (gnu packages ninja) #:use-module (gnu packages onc-rpc) #:use-module (gnu packages package-management) #:use-module (gnu packages perl) @@ -135,7 +137,7 @@ (define-public qemu (package (name "qemu") - (version "5.1.0") + (version "5.2.0") (source (origin (method url-fetch) @@ -143,9 +145,9 @@ version ".tar.xz")) (sha256 (base32 - "1rd41wwlvp0vpialjp2czs6i3lsc338xc72l3zkbb7ixjfslw5y9")) - (patches (search-patches "qemu-build-info-manual.patch" - "qemu-CVE-2021-20203.patch")) + "1g0pvx4qbirpcn9mni704y03n3lvkmw2c0rbcwvydyr8ns4xh66b")) + (patches (search-patches "qemu-CVE-2021-20203.patch" + "qemu-build-info-manual.patch")) (modules '((guix build utils))) (snippet '(begin @@ -161,7 +163,7 @@ (("^([[:blank:]]*)target_ifreq_size[[:blank:]]=.*$" _ indent) (string-append indent "target_ifreq_size = " "thunk_type_size(ifreq_max_type, 0);"))))))) - (outputs '("out" "static" "doc")) ;4.7 MiB of HTML docs + (outputs '("out" "static" "doc")) ;5.3 MiB of HTML docs (build-system gnu-build-system) (arguments ;; FIXME: Disable tests on i686 to work around @@ -214,33 +216,37 @@ (string-append match "9"))))) (add-after 'unpack 'disable-unusable-tests (lambda _ - (substitute* "tests/Makefile.include" + (substitute* "tests/meson.build" ;; Comment out the test-qga test, which needs /sys and ;; fails within the build environment. - (("check-unit-.* tests/test-qga" all) + (("tests.*test-qga.*$" all) (string-append "# " all)) ;; Comment out the test-char test, which needs networking and ;; fails within the build environment. (("check-unit-.* tests/test-char" all) - (string-append "# " all))) - (substitute* "tests/qtest/Makefile.include" - ;; Disable the following test, which triggers a crash on some - ;; x86 CPUs (see https://issues.guix.info/43048 and - ;; https://bugs.launchpad.net/qemu/+bug/1896263). - (("check-qtest-i386-y \\+= bios-tables-test" all) (string-append "# " all))))) - (add-after 'unpack 'patch-test-shebangs - (lambda _ - (substitute* "tests/qemu-iotests/check" - (("#!/usr/bin/env python3") - (string-append "#!" (which "python3")))))) - (add-after 'patch-source-shebangs 'patch-/bin/sh-references + (add-after 'patch-source-shebangs 'patch-embedded-shebangs (lambda _ ;; Ensure the executables created by these source files reference ;; /bin/sh from the store so they work inside the build container. (substitute* '("block/cloop.c" "migration/exec.c" "net/tap.c" "tests/qtest/libqtest.c") - (("/bin/sh") (which "sh"))))) + (("/bin/sh") (which "sh"))) + (substitute* "Makefile" + (("SHELL = /usr/bin/env bash -o pipefail") + "SHELL = bash -o pipefail")) + (substitute* "tests/qemu-iotests/check" + (("#!/usr/bin/env python3") + (string-append "#!" (which "python3")))))) + (add-before 'configure 'fix-optionrom-makefile + (lambda _ + ;; Work around the inability of the rules defined in this + ;; Makefile to locate the firmware files (e.g.: No rule to make + ;; target 'multiboot.bin') by extending the VPATH. + (substitute* "pc-bios/optionrom/Makefile" + (("^VPATH = \\$\\(SRC_DIR\\)") + "VPATH = $(SRC_DIR):$(TOPSRC_DIR)/pc-bios")))) + ;; XXX ./configure is being re-run at beginning of build phase... (replace 'configure (lambda* (#:key inputs outputs configure-flags #:allow-other-keys) ;; The `configure' script doesn't understand some of the @@ -249,7 +255,7 @@ (setenv "SHELL" (which "bash")) ;; Ensure config.status gets the correct shebang off the bat. ;; The build system gets confused if we change it later and - ;; attempts to re-run the whole configury, and fails. + ;; attempts to re-run the whole configuration, and fails. (substitute* "configure" (("#!/bin/sh") (string-append "#!" (which "sh")))) @@ -288,7 +294,7 @@ (bin (string-append static "/bin"))) (with-directory-excursion "../user-static" (for-each (cut install-file <> bin) - (append-map (cut find-files <> "^qemu-") + (append-map (cut find-files <> "^qemu-" #:stat stat) (scandir "." (cut string-suffix? "-linux-user" <>)))))))) @@ -345,6 +351,7 @@ exec smbd $@"))) ("perl" ,perl) ("flex" ,flex) ("bison" ,bison) + ("ninja" ,ninja) ("pkg-config" ,pkg-config) ("python-wrapper" ,python-wrapper) ("python-sphinx" ,python-sphinx) From 1ea2c82355d81d95c39c9a6b29c43f85e48baa19 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 14 Mar 2021 23:39:52 -0400 Subject: [PATCH 0685/1003] news: Add news entry about changes to the QEMU binfmt service. * etc/news.scm: Add entry. --- etc/news.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/etc/news.scm b/etc/news.scm index 3773e49d8d..e2e7897e8a 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -9,7 +9,7 @@ ;; Copyright © 2020 Marius Bakke ;; Copyright © 2020, 2021 Mathieu Othacehe ;; Copyright © 2020 Jan (janneke) Nieuwenhuizen -;; Copyright © 2020 Maxim Cournoyer +;; Copyright © 2020, 2021 Maxim Cournoyer ;; Copyright © 2021 Leo Famulari ;; Copyright © 2021 Zhu Zihao ;; @@ -20,6 +20,17 @@ (channel-news (version 0) + (entry (commit "77c2f4e2068ebec3f384c826c5a99785125ff72c") + (title + (en "@code{qemu-binfmt-service-type} is usable for any container")) + (body + (en "The service now makes use of the statically built QEMU binaries +along with the fix binary (F) @code{binfmt_misc} flag, which allows the kernel +to fully pre-load it in memory. QEMU can thus now be used with any container +without extra configuration. The @code{guix-support?} field of the +@code{qemu-binfmt-configuration} record is removed, as it is no longer +necessary."))) + (entry (commit "02e2e093e858e8a0ca7bd66c1f1f6fd0a1705edb") (title (en "New @command{guix import go} command") From 74fdd0fea08fde451ad1a9d43abeeab27c422383 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 8 Mar 2021 22:02:38 -0500 Subject: [PATCH 0686/1003] gnu: dbus-c++: Fix command name in description. * gnu/packages/glib.scm (dbus-c++)[description]: Fix command prefix in description, and mention the second command installed as well. --- gnu/packages/glib.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 0d265e8687..1b9cd71785 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -995,8 +995,8 @@ This package provides the library for GLib applications.") #t))))) (synopsis "D-Bus API for C++") (description "This package provides D-Bus client API bindings for the C++ -programming language. It also contains the utility -@command{dbuscxx-xml2cpp}.") +programming language. It also provides the @command{dbusxx-xml2cpp} and +@command{dbusxx-introspect} commands.") (home-page "https://sourceforge.net/projects/dbus-cplusplus/") (license license:lgpl2.1+))) From 821e6439212f8e94580674eaaff2ce6752cd3b18 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 19:08:55 +0100 Subject: [PATCH 0687/1003] gnu: r-limma: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-limma): Move from here... * gnu/packages/bioconductor.scm (r-limma): ...to here. --- gnu/packages/bioconductor.scm | 19 +++++++++++++++++++ gnu/packages/bioinformatics.scm | 19 ------------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index d611f3a491..379b6c30c0 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1850,6 +1850,25 @@ Enrichment Analysis} (GSEA).") the Human Protein Atlas project.") (license license:artistic2.0))) +(define-public r-limma + (package + (name "r-limma") + (version "3.46.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "limma" version)) + (sha256 + (base32 + "1xxv493q1kip9bjfv7v7k5dnq7hz7gvl80i983v4mvwavhgnbxfz")))) + (build-system r-build-system) + (home-page "http://bioinf.wehi.edu.au/limma") + (synopsis "Package for linear models for microarray and RNA-seq data") + (description "This package can be used for the analysis of gene expression +studies, especially the use of linear models for analysing designed experiments +and the assessment of differential expression. The analysis methods apply to +different technologies, including microarrays, RNA-seq, and quantitative PCR.") + (license license:gpl2+))) + (define-public r-rbgl (package (name "r-rbgl") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index d9afe2c56f..9774b442a3 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,25 +7691,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-limma - (package - (name "r-limma") - (version "3.46.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "limma" version)) - (sha256 - (base32 - "1xxv493q1kip9bjfv7v7k5dnq7hz7gvl80i983v4mvwavhgnbxfz")))) - (build-system r-build-system) - (home-page "http://bioinf.wehi.edu.au/limma") - (synopsis "Package for linear models for microarray and RNA-seq data") - (description "This package can be used for the analysis of gene expression -studies, especially the use of linear models for analysing designed experiments -and the assessment of differential expression. The analysis methods apply to -different technologies, including microarrays, RNA-seq, and quantitative PCR.") - (license license:gpl2+))) - (define-public r-xvector (package (name "r-xvector") From e56b3db82ea81e88632a15994a5792849ecb0c5c Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 19:08:56 +0100 Subject: [PATCH 0688/1003] gnu: r-xvector: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-xvector): Move from here... * gnu/packages/bioconductor.scm (r-xvector): ...to here. --- gnu/packages/bioconductor.scm | 36 +++++++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 36 --------------------------------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 379b6c30c0..fdb2f7c7ac 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -2108,6 +2108,42 @@ annotation infrastructure.") coding changes and predict coding outcomes.") (license license:artistic2.0))) +(define-public r-xvector + (package + (name "r-xvector") + (version "0.30.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "XVector" version)) + (sha256 + (base32 + "1pqljikg4f6jb7wgm5537zwgq5b013nyz1agjrwfq2cljb0ym6lq")))) + (properties + `((upstream-name . "XVector"))) + (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'use-system-zlib + (lambda _ + (substitute* "DESCRIPTION" + (("zlibbioc, ") "")) + (substitute* "NAMESPACE" + (("import\\(zlibbioc\\)") "")) + #t))))) + (inputs + `(("zlib" ,zlib))) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-iranges" ,r-iranges) + ("r-s4vectors" ,r-s4vectors))) + (home-page "https://bioconductor.org/packages/XVector") + (synopsis "Representation and manpulation of external sequences") + (description + "This package provides memory efficient S4 classes for storing sequences +\"externally\" (behind an R external pointer, or on disk).") + (license license:artistic2.0))) + (define-public r-geneplotter (package (name "r-geneplotter") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 9774b442a3..65db983461 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,42 +7691,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-xvector - (package - (name "r-xvector") - (version "0.30.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "XVector" version)) - (sha256 - (base32 - "1pqljikg4f6jb7wgm5537zwgq5b013nyz1agjrwfq2cljb0ym6lq")))) - (properties - `((upstream-name . "XVector"))) - (build-system r-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'use-system-zlib - (lambda _ - (substitute* "DESCRIPTION" - (("zlibbioc, ") "")) - (substitute* "NAMESPACE" - (("import\\(zlibbioc\\)") "")) - #t))))) - (inputs - `(("zlib" ,zlib))) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics) - ("r-iranges" ,r-iranges) - ("r-s4vectors" ,r-s4vectors))) - (home-page "https://bioconductor.org/packages/XVector") - (synopsis "Representation and manpulation of external sequences") - (description - "This package provides memory efficient S4 classes for storing sequences -\"externally\" (behind an R external pointer, or on disk).") - (license license:artistic2.0))) - (define-public r-genomicranges (package (name "r-genomicranges") From f3f09b99cd32f46c47db30f0afb632614c43172d Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 19:08:57 +0100 Subject: [PATCH 0689/1003] gnu: r-genomicranges: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-genomicranges): Move from here... * gnu/packages/bioconductor.scm (r-genomicranges): ...to here. --- gnu/packages/bioconductor.scm | 31 +++++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 31 ------------------------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index fdb2f7c7ac..ec273cae70 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1770,6 +1770,37 @@ translation between different chromosome sequence naming conventions (e.g., names in their natural, rather than lexicographic, order.") (license license:artistic2.0))) +(define-public r-genomicranges + (package + (name "r-genomicranges") + (version "1.42.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "GenomicRanges" version)) + (sha256 + (base32 + "0j4py5g6pdj35xhlaqhxxhg55j9l4mcdk3yck4dgyavv5f2dh24i")))) + (properties + `((upstream-name . "GenomicRanges"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-iranges" ,r-iranges) + ("r-s4vectors" ,r-s4vectors) + ("r-xvector" ,r-xvector))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/GenomicRanges") + (synopsis "Representation and manipulation of genomic intervals") + (description + "This package provides tools to efficiently represent and manipulate +genomic annotations and alignments is playing a central role when it comes to +analyzing high-throughput sequencing data (a.k.a. NGS data). The +GenomicRanges package defines general purpose containers for storing and +manipulating genomic intervals and variables defined along a genome.") + (license license:artistic2.0))) + (define-public r-gostats (package (name "r-gostats") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 65db983461..4889c148e4 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,37 +7691,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-genomicranges - (package - (name "r-genomicranges") - (version "1.42.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "GenomicRanges" version)) - (sha256 - (base32 - "0j4py5g6pdj35xhlaqhxxhg55j9l4mcdk3yck4dgyavv5f2dh24i")))) - (properties - `((upstream-name . "GenomicRanges"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics) - ("r-genomeinfodb" ,r-genomeinfodb) - ("r-iranges" ,r-iranges) - ("r-s4vectors" ,r-s4vectors) - ("r-xvector" ,r-xvector))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/GenomicRanges") - (synopsis "Representation and manipulation of genomic intervals") - (description - "This package provides tools to efficiently represent and manipulate -genomic annotations and alignments is playing a central role when it comes to -analyzing high-throughput sequencing data (a.k.a. NGS data). The -GenomicRanges package defines general purpose containers for storing and -manipulating genomic intervals and variables defined along a genome.") - (license license:artistic2.0))) - (define-public r-biobase (package (name "r-biobase") From 457de7f401300085066a0426068fe75f8df85943 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 19:08:58 +0100 Subject: [PATCH 0690/1003] gnu: r-biobase: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-biobase): Move from here... * gnu/packages/bioconductor.scm (r-biobase): ...to here. --- gnu/packages/bioconductor.scm | 22 ++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 22 ---------------------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index ec273cae70..b7308848c0 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1570,6 +1570,28 @@ microarrays.") databases. Packages produced are intended to be used with AnnotationDbi.") (license license:artistic2.0))) +(define-public r-biobase + (package + (name "r-biobase") + (version "2.50.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "Biobase" version)) + (sha256 + (base32 + "11kgc4flywlm3i18603558l8ksv91c24vkc5fnnbcd375i2dhhd4")))) + (properties + `((upstream-name . "Biobase"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics))) + (home-page "https://bioconductor.org/packages/Biobase") + (synopsis "Base functions for Bioconductor") + (description + "This package provides functions that are needed by many other packages +on Bioconductor or which replace R functions.") + (license license:artistic2.0))) + (define-public r-category (package (name "r-category") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 4889c148e4..b73862ff86 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,28 +7691,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-biobase - (package - (name "r-biobase") - (version "2.50.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "Biobase" version)) - (sha256 - (base32 - "11kgc4flywlm3i18603558l8ksv91c24vkc5fnnbcd375i2dhhd4")))) - (properties - `((upstream-name . "Biobase"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics))) - (home-page "https://bioconductor.org/packages/Biobase") - (synopsis "Base functions for Bioconductor") - (description - "This package provides functions that are needed by many other packages -on Bioconductor or which replace R functions.") - (license license:artistic2.0))) - (define-public r-annotationdbi (package (name "r-annotationdbi") From 16c7e79ebbe911a1e8cb7ad8d9cb1c5d8ede34c7 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 19:08:59 +0100 Subject: [PATCH 0691/1003] gnu: r-annotationdbi: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-annotationdbi): Move from here... * gnu/packages/bioconductor.scm (r-annotationdbi): ...to here. --- gnu/packages/bioconductor.scm | 29 +++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 29 ----------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index b7308848c0..2ae212dfac 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1538,6 +1538,35 @@ structure.") microarrays.") (license license:artistic2.0))) +(define-public r-annotationdbi + (package + (name "r-annotationdbi") + (version "1.52.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "AnnotationDbi" version)) + (sha256 + (base32 + "0zqxgh3nx6y8ry12s2vss2f4axz5vpqxha1y4ifhhcx4zhpzsglr")))) + (properties + `((upstream-name . "AnnotationDbi"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-dbi" ,r-dbi) + ("r-iranges" ,r-iranges) + ("r-rsqlite" ,r-rsqlite) + ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/AnnotationDbi") + (synopsis "Annotation database interface") + (description + "This package provides user interface and database connection code for +annotation data packages using SQLite data storage.") + (license license:artistic2.0))) + (define-public r-annotationforge (package (name "r-annotationforge") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index b73862ff86..a45196bc5b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,35 +7691,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-annotationdbi - (package - (name "r-annotationdbi") - (version "1.52.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "AnnotationDbi" version)) - (sha256 - (base32 - "0zqxgh3nx6y8ry12s2vss2f4axz5vpqxha1y4ifhhcx4zhpzsglr")))) - (properties - `((upstream-name . "AnnotationDbi"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biobase" ,r-biobase) - ("r-biocgenerics" ,r-biocgenerics) - ("r-dbi" ,r-dbi) - ("r-iranges" ,r-iranges) - ("r-rsqlite" ,r-rsqlite) - ("r-s4vectors" ,r-s4vectors))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/AnnotationDbi") - (synopsis "Annotation database interface") - (description - "This package provides user interface and database connection code for -annotation data packages using SQLite data storage.") - (license license:artistic2.0))) - (define-public r-biomart (package (name "r-biomart") From c11b541fba8131e701b55c5c7ef1a412bb4d1fc8 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 19:09:00 +0100 Subject: [PATCH 0692/1003] gnu: r-biomart: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-biomart): Move from here... * gnu/packages/bioconductor.scm (r-biomart): ...to here. --- gnu/packages/bioconductor.scm | 38 +++++++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 38 --------------------------------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 2ae212dfac..897e85dfe3 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1621,6 +1621,44 @@ databases. Packages produced are intended to be used with AnnotationDbi.") on Bioconductor or which replace R functions.") (license license:artistic2.0))) +(define-public r-biomart + (package + (name "r-biomart") + (version "2.46.3") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "biomaRt" version)) + (sha256 + (base32 + "0gwmd0ykpv0gyh34c56g5m12lil20fvig49f3ih1jxrxf3q4wmq7")))) + (properties + `((upstream-name . "biomaRt"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotationdbi" ,r-annotationdbi) + ("r-biocfilecache" ,r-biocfilecache) + ("r-httr" ,r-httr) + ("r-openssl" ,r-openssl) + ("r-progress" ,r-progress) + ("r-rappdirs" ,r-rappdirs) + ("r-stringr" ,r-stringr) + ("r-xml" ,r-xml) + ("r-xml2" ,r-xml2))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/biomaRt") + (synopsis "Interface to BioMart databases") + (description + "biomaRt provides an interface to a growing collection of databases +implementing the @url{BioMart software suite, http://www.biomart.org}. The +package enables retrieval of large amounts of data in a uniform way without +the need to know the underlying database schemas or write complex SQL queries. +Examples of BioMart databases are Ensembl, COSMIC, Uniprot, HGNC, Gramene, +Wormbase and dbSNP mapped to Ensembl. These major databases give biomaRt +users direct access to a diverse set of data and enable a wide range of +powerful online queries from gene annotation to database mining.") + (license license:artistic2.0))) + (define-public r-category (package (name "r-category") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index a45196bc5b..289a96f572 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,44 +7691,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-biomart - (package - (name "r-biomart") - (version "2.46.3") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "biomaRt" version)) - (sha256 - (base32 - "0gwmd0ykpv0gyh34c56g5m12lil20fvig49f3ih1jxrxf3q4wmq7")))) - (properties - `((upstream-name . "biomaRt"))) - (build-system r-build-system) - (propagated-inputs - `(("r-annotationdbi" ,r-annotationdbi) - ("r-biocfilecache" ,r-biocfilecache) - ("r-httr" ,r-httr) - ("r-openssl" ,r-openssl) - ("r-progress" ,r-progress) - ("r-rappdirs" ,r-rappdirs) - ("r-stringr" ,r-stringr) - ("r-xml" ,r-xml) - ("r-xml2" ,r-xml2))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/biomaRt") - (synopsis "Interface to BioMart databases") - (description - "biomaRt provides an interface to a growing collection of databases -implementing the @url{BioMart software suite, http://www.biomart.org}. The -package enables retrieval of large amounts of data in a uniform way without -the need to know the underlying database schemas or write complex SQL queries. -Examples of BioMart databases are Ensembl, COSMIC, Uniprot, HGNC, Gramene, -Wormbase and dbSNP mapped to Ensembl. These major databases give biomaRt -users direct access to a diverse set of data and enable a wide range of -powerful online queries from gene annotation to database mining.") - (license license:artistic2.0))) - (define-public r-biocparallel (package (name "r-biocparallel") From eab9807fb38b70e203ac965f2705c76adaedcc07 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 19:09:01 +0100 Subject: [PATCH 0693/1003] gnu: r-biocparallel: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-biocparallel): Move from here... * gnu/packages/bioconductor.scm (r-biocparallel): ...to here. --- gnu/packages/bioconductor.scm | 27 +++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 27 --------------------------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 897e85dfe3..6482d8e4c1 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1659,6 +1659,33 @@ users direct access to a diverse set of data and enable a wide range of powerful online queries from gene annotation to database mining.") (license license:artistic2.0))) +(define-public r-biocparallel + (package + (name "r-biocparallel") + (version "1.24.1") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "BiocParallel" version)) + (sha256 + (base32 + "1iryicvmcagcrj29kp49mqhiq2kn72j4idj380hi9illmdrg9ism")))) + (properties + `((upstream-name . "BiocParallel"))) + (build-system r-build-system) + (propagated-inputs + `(("r-futile-logger" ,r-futile-logger) + ("r-snow" ,r-snow) + ("r-bh" ,r-bh))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/BiocParallel") + (synopsis "Bioconductor facilities for parallel evaluation") + (description + "This package provides modified versions and novel implementation of +functions for parallel evaluation, tailored to use with Bioconductor +objects.") + (license (list license:gpl2+ license:gpl3+)))) + (define-public r-category (package (name "r-category") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 289a96f572..af3fa36b19 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,33 +7691,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-biocparallel - (package - (name "r-biocparallel") - (version "1.24.1") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "BiocParallel" version)) - (sha256 - (base32 - "1iryicvmcagcrj29kp49mqhiq2kn72j4idj380hi9illmdrg9ism")))) - (properties - `((upstream-name . "BiocParallel"))) - (build-system r-build-system) - (propagated-inputs - `(("r-futile-logger" ,r-futile-logger) - ("r-snow" ,r-snow) - ("r-bh" ,r-bh))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/BiocParallel") - (synopsis "Bioconductor facilities for parallel evaluation") - (description - "This package provides modified versions and novel implementation of -functions for parallel evaluation, tailored to use with Bioconductor -objects.") - (license (list license:gpl2+ license:gpl3+)))) - (define-public r-biostrings (package (name "r-biostrings") From b1a19ab6e28277f0f9c72961be3cf709bd14e6e2 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 19:09:02 +0100 Subject: [PATCH 0694/1003] gnu: r-biostrings: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-biostrings): Move from here... * gnu/packages/bioconductor.scm (r-biostrings): ...to here. --- gnu/packages/bioconductor.scm | 27 +++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 27 --------------------------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 6482d8e4c1..2b7d65023d 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1686,6 +1686,33 @@ functions for parallel evaluation, tailored to use with Bioconductor objects.") (license (list license:gpl2+ license:gpl3+)))) +(define-public r-biostrings + (package + (name "r-biostrings") + (version "2.58.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "Biostrings" version)) + (sha256 + (base32 + "1rbqhs73mhfr1gi0rx28jiyan7i3hb45ai3jpl1656fnrhgjfxq5")))) + (properties + `((upstream-name . "Biostrings"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-crayon" ,r-crayon) + ("r-iranges" ,r-iranges) + ("r-s4vectors" ,r-s4vectors) + ("r-xvector" ,r-xvector))) + (home-page "https://bioconductor.org/packages/Biostrings") + (synopsis "String objects and algorithms for biological sequences") + (description + "This package provides memory efficient string containers, string +matching algorithms, and other utilities, for fast manipulation of large +biological sequences or sets of sequences.") + (license license:artistic2.0))) + (define-public r-category (package (name "r-category") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index af3fa36b19..415210085e 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,33 +7691,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-biostrings - (package - (name "r-biostrings") - (version "2.58.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "Biostrings" version)) - (sha256 - (base32 - "1rbqhs73mhfr1gi0rx28jiyan7i3hb45ai3jpl1656fnrhgjfxq5")))) - (properties - `((upstream-name . "Biostrings"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics) - ("r-crayon" ,r-crayon) - ("r-iranges" ,r-iranges) - ("r-s4vectors" ,r-s4vectors) - ("r-xvector" ,r-xvector))) - (home-page "https://bioconductor.org/packages/Biostrings") - (synopsis "String objects and algorithms for biological sequences") - (description - "This package provides memory efficient string containers, string -matching algorithms, and other utilities, for fast manipulation of large -biological sequences or sets of sequences.") - (license license:artistic2.0))) - (define-public r-rsamtools (package (name "r-rsamtools") From adf45daae93219a31dbabd8dd80a806cc747aa81 Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 19:09:03 +0100 Subject: [PATCH 0695/1003] gnu: r-rsamtools: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-rsamtools): Move from here... * gnu/packages/bioconductor.scm (r-rsamtools): ...to here. --- gnu/packages/bioconductor.scm | 43 +++++++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 43 --------------------------------- 2 files changed, 43 insertions(+), 43 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 2b7d65023d..c659bdd09e 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -2147,6 +2147,49 @@ reports together for a particular project that can be viewed in a web browser.") (license license:artistic2.0))) +(define-public r-rsamtools + (package + (name "r-rsamtools") + (version "2.6.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "Rsamtools" version)) + (sha256 + (base32 + "040pggkwglc6wy90qnc7xcdnaj0v3iqlykvvsl74241409qly554")))) + (properties + `((upstream-name . "Rsamtools"))) + (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'use-system-zlib + (lambda _ + (substitute* "DESCRIPTION" + (("zlibbioc, ") "")) + (substitute* "NAMESPACE" + (("import\\(zlibbioc\\)") "")) + #t))))) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-biocparallel" ,r-biocparallel) + ("r-biostrings" ,r-biostrings) + ("r-bitops" ,r-bitops) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) + ("r-rhtslib" ,r-rhtslib) + ("r-s4vectors" ,r-s4vectors) + ("r-xvector" ,r-xvector))) + (home-page "https://bioconductor.org/packages/release/bioc/html/Rsamtools.html") + (synopsis "Interface to samtools, bcftools, and tabix") + (description + "This package provides an interface to the @code{samtools}, +@code{bcftools}, and @code{tabix} utilities for manipulating SAM (Sequence +Alignment / Map), FASTA, binary variant call (BCF) and compressed indexed +tab-delimited (tabix) files.") + (license license:expat))) + (define-public r-shortread (package (name "r-shortread") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 415210085e..05805d1a8b 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,49 +7691,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-rsamtools - (package - (name "r-rsamtools") - (version "2.6.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "Rsamtools" version)) - (sha256 - (base32 - "040pggkwglc6wy90qnc7xcdnaj0v3iqlykvvsl74241409qly554")))) - (properties - `((upstream-name . "Rsamtools"))) - (build-system r-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'use-system-zlib - (lambda _ - (substitute* "DESCRIPTION" - (("zlibbioc, ") "")) - (substitute* "NAMESPACE" - (("import\\(zlibbioc\\)") "")) - #t))))) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics) - ("r-biocparallel" ,r-biocparallel) - ("r-biostrings" ,r-biostrings) - ("r-bitops" ,r-bitops) - ("r-genomeinfodb" ,r-genomeinfodb) - ("r-genomicranges" ,r-genomicranges) - ("r-iranges" ,r-iranges) - ("r-rhtslib" ,r-rhtslib) - ("r-s4vectors" ,r-s4vectors) - ("r-xvector" ,r-xvector))) - (home-page "https://bioconductor.org/packages/release/bioc/html/Rsamtools.html") - (synopsis "Interface to samtools, bcftools, and tabix") - (description - "This package provides an interface to the @code{samtools}, -@code{bcftools}, and @code{tabix} utilities for manipulating SAM (Sequence -Alignment / Map), FASTA, binary variant call (BCF) and compressed indexed -tab-delimited (tabix) files.") - (license license:expat))) - (define-public r-delayedarray (package (name "r-delayedarray") From d99a18252c31fb2c19e3e7ae65bb36e85c3aa1af Mon Sep 17 00:00:00 2001 From: zimoun Date: Mon, 15 Mar 2021 19:09:04 +0100 Subject: [PATCH 0696/1003] gnu: r-delayedarray: Move to (gnu packages bioconductor). * gnu/packages/bioinformatics.scm (r-delayedarray): Move from here... * gnu/packages/bioconductor.scm (r-delayedarray): ...to here. --- gnu/packages/bioconductor.scm | 33 +++++++++++++++++++++++++++++++++ gnu/packages/bioinformatics.scm | 33 --------------------------------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index c659bdd09e..9212165706 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1212,6 +1212,39 @@ data. In addition, provides numerous plotting functions for commonly used visualizations.") (license license:artistic2.0))) +(define-public r-delayedarray + (package + (name "r-delayedarray") + (version "0.16.2") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "DelayedArray" version)) + (sha256 + (base32 + "09lpj951v1afxkrnjvnhzp4qgklq23ykdwlny7k1lyfcdy9q6wm0")))) + (properties + `((upstream-name . "DelayedArray"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-s4vectors" ,r-s4vectors) + ("r-iranges" ,r-iranges) + ("r-matrix" ,r-matrix) + ("r-matrixgenerics" ,r-matrixgenerics))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/DelayedArray") + (synopsis "Delayed operations on array-like objects") + (description + "Wrapping an array-like object (typically an on-disk object) in a +@code{DelayedArray} object allows one to perform common array operations on it +without loading the object in memory. In order to reduce memory usage and +optimize performance, operations on the object are either delayed or executed +using a block processing mechanism. Note that this also works on in-memory +array-like objects like @code{DataFrame} objects (typically with Rle columns), +@code{Matrix} objects, and ordinary arrays and data frames.") + (license license:artistic2.0))) + (define-public r-bluster (package (name "r-bluster") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 05805d1a8b..bc342b5de8 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,39 +7691,6 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) -(define-public r-delayedarray - (package - (name "r-delayedarray") - (version "0.16.2") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "DelayedArray" version)) - (sha256 - (base32 - "09lpj951v1afxkrnjvnhzp4qgklq23ykdwlny7k1lyfcdy9q6wm0")))) - (properties - `((upstream-name . "DelayedArray"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics) - ("r-s4vectors" ,r-s4vectors) - ("r-iranges" ,r-iranges) - ("r-matrix" ,r-matrix) - ("r-matrixgenerics" ,r-matrixgenerics))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/DelayedArray") - (synopsis "Delayed operations on array-like objects") - (description - "Wrapping an array-like object (typically an on-disk object) in a -@code{DelayedArray} object allows one to perform common array operations on it -without loading the object in memory. In order to reduce memory usage and -optimize performance, operations on the object are either delayed or executed -using a block processing mechanism. Note that this also works on in-memory -array-like objects like @code{DataFrame} objects (typically with Rle columns), -@code{Matrix} objects, and ordinary arrays and data frames.") - (license license:artistic2.0))) - (define-public r-summarizedexperiment (package (name "r-summarizedexperiment") From 8f9fd9b70c7bf166d96a4b1dc8b427f8cdf040b5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 15 Mar 2021 23:31:58 +0100 Subject: [PATCH 0697/1003] gnu: r-biocparallel: Build reproducibly. * gnu/packages/bioconductor.scm (r-biocparallel)[arguments]: Add phase "make-reproducible". --- gnu/packages/bioconductor.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 9212165706..166d30be0f 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1705,6 +1705,34 @@ powerful online queries from gene annotation to database mining.") (properties `((upstream-name . "BiocParallel"))) (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'make-reproducible + (lambda _ + ;; Remove generated documentation. + (for-each delete-file + '("inst/doc/BiocParallel_BatchtoolsParam.pdf" + "inst/doc/Introduction_To_BiocParallel.pdf" + "inst/doc/Errors_Logs_And_Debugging.pdf" + "inst/doc/BiocParallel_BatchtoolsParam.R" + "inst/doc/Introduction_To_BiocParallel.R" + "inst/doc/Errors_Logs_And_Debugging.R")) + + ;; Remove time-dependent macro + (substitute* '("inst/doc/BiocParallel_BatchtoolsParam.Rnw" + "inst/doc/Introduction_To_BiocParallel.Rnw" + "inst/doc/Errors_Logs_And_Debugging.Rnw" + "vignettes/BiocParallel_BatchtoolsParam.Rnw" + "vignettes/Introduction_To_BiocParallel.Rnw" + "vignettes/Errors_Logs_And_Debugging.Rnw") + (("\\today") "later")) + + ;; Initialize the random number generator seed when building. + (substitute* "R/internal_rng_stream.R" + (("\"L'Ecuyer-CMRG\"\\)" m) + (string-append + m "; if (!is.na(Sys.getenv(\"SOURCE_DATE_EPOCH\"))) {set.seed(100)}\n")))))))) (propagated-inputs `(("r-futile-logger" ,r-futile-logger) ("r-snow" ,r-snow) From 8ec0ca8faff62f19426f22aeb1bd59a8950ca05a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 15 Mar 2021 19:48:52 -0400 Subject: [PATCH 0698/1003] Revert some commits that caused `guix pull` to fail. This reverts commits 821e6439212f8e94580674eaaff2ce6752cd3b18 through 8f9fd9b70c7bf166d96a4b1dc8b427f8cdf040b5. Specifically, these commits caused the build failure of guix-package-cache.drv like this: ------ (repl-version 0 1 1) Generating package cache for '/gnu/store/vyz7q26kxxd4z70m24rkkqqhaizdla7g-profile'... (exception unbound-variable (value #f) (value "Unbound variable: ~S") (value (r-biobase)) (value #f)) --- gnu/packages/bioconductor.scm | 333 -------------------------------- gnu/packages/bioinformatics.scm | 305 +++++++++++++++++++++++++++++ 2 files changed, 305 insertions(+), 333 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 166d30be0f..d611f3a491 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1212,39 +1212,6 @@ data. In addition, provides numerous plotting functions for commonly used visualizations.") (license license:artistic2.0))) -(define-public r-delayedarray - (package - (name "r-delayedarray") - (version "0.16.2") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "DelayedArray" version)) - (sha256 - (base32 - "09lpj951v1afxkrnjvnhzp4qgklq23ykdwlny7k1lyfcdy9q6wm0")))) - (properties - `((upstream-name . "DelayedArray"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics) - ("r-s4vectors" ,r-s4vectors) - ("r-iranges" ,r-iranges) - ("r-matrix" ,r-matrix) - ("r-matrixgenerics" ,r-matrixgenerics))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/DelayedArray") - (synopsis "Delayed operations on array-like objects") - (description - "Wrapping an array-like object (typically an on-disk object) in a -@code{DelayedArray} object allows one to perform common array operations on it -without loading the object in memory. In order to reduce memory usage and -optimize performance, operations on the object are either delayed or executed -using a block processing mechanism. Note that this also works on in-memory -array-like objects like @code{DataFrame} objects (typically with Rle columns), -@code{Matrix} objects, and ordinary arrays and data frames.") - (license license:artistic2.0))) - (define-public r-bluster (package (name "r-bluster") @@ -1571,35 +1538,6 @@ structure.") microarrays.") (license license:artistic2.0))) -(define-public r-annotationdbi - (package - (name "r-annotationdbi") - (version "1.52.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "AnnotationDbi" version)) - (sha256 - (base32 - "0zqxgh3nx6y8ry12s2vss2f4axz5vpqxha1y4ifhhcx4zhpzsglr")))) - (properties - `((upstream-name . "AnnotationDbi"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biobase" ,r-biobase) - ("r-biocgenerics" ,r-biocgenerics) - ("r-dbi" ,r-dbi) - ("r-iranges" ,r-iranges) - ("r-rsqlite" ,r-rsqlite) - ("r-s4vectors" ,r-s4vectors))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/AnnotationDbi") - (synopsis "Annotation database interface") - (description - "This package provides user interface and database connection code for -annotation data packages using SQLite data storage.") - (license license:artistic2.0))) - (define-public r-annotationforge (package (name "r-annotationforge") @@ -1632,148 +1570,6 @@ annotation data packages using SQLite data storage.") databases. Packages produced are intended to be used with AnnotationDbi.") (license license:artistic2.0))) -(define-public r-biobase - (package - (name "r-biobase") - (version "2.50.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "Biobase" version)) - (sha256 - (base32 - "11kgc4flywlm3i18603558l8ksv91c24vkc5fnnbcd375i2dhhd4")))) - (properties - `((upstream-name . "Biobase"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics))) - (home-page "https://bioconductor.org/packages/Biobase") - (synopsis "Base functions for Bioconductor") - (description - "This package provides functions that are needed by many other packages -on Bioconductor or which replace R functions.") - (license license:artistic2.0))) - -(define-public r-biomart - (package - (name "r-biomart") - (version "2.46.3") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "biomaRt" version)) - (sha256 - (base32 - "0gwmd0ykpv0gyh34c56g5m12lil20fvig49f3ih1jxrxf3q4wmq7")))) - (properties - `((upstream-name . "biomaRt"))) - (build-system r-build-system) - (propagated-inputs - `(("r-annotationdbi" ,r-annotationdbi) - ("r-biocfilecache" ,r-biocfilecache) - ("r-httr" ,r-httr) - ("r-openssl" ,r-openssl) - ("r-progress" ,r-progress) - ("r-rappdirs" ,r-rappdirs) - ("r-stringr" ,r-stringr) - ("r-xml" ,r-xml) - ("r-xml2" ,r-xml2))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/biomaRt") - (synopsis "Interface to BioMart databases") - (description - "biomaRt provides an interface to a growing collection of databases -implementing the @url{BioMart software suite, http://www.biomart.org}. The -package enables retrieval of large amounts of data in a uniform way without -the need to know the underlying database schemas or write complex SQL queries. -Examples of BioMart databases are Ensembl, COSMIC, Uniprot, HGNC, Gramene, -Wormbase and dbSNP mapped to Ensembl. These major databases give biomaRt -users direct access to a diverse set of data and enable a wide range of -powerful online queries from gene annotation to database mining.") - (license license:artistic2.0))) - -(define-public r-biocparallel - (package - (name "r-biocparallel") - (version "1.24.1") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "BiocParallel" version)) - (sha256 - (base32 - "1iryicvmcagcrj29kp49mqhiq2kn72j4idj380hi9illmdrg9ism")))) - (properties - `((upstream-name . "BiocParallel"))) - (build-system r-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'make-reproducible - (lambda _ - ;; Remove generated documentation. - (for-each delete-file - '("inst/doc/BiocParallel_BatchtoolsParam.pdf" - "inst/doc/Introduction_To_BiocParallel.pdf" - "inst/doc/Errors_Logs_And_Debugging.pdf" - "inst/doc/BiocParallel_BatchtoolsParam.R" - "inst/doc/Introduction_To_BiocParallel.R" - "inst/doc/Errors_Logs_And_Debugging.R")) - - ;; Remove time-dependent macro - (substitute* '("inst/doc/BiocParallel_BatchtoolsParam.Rnw" - "inst/doc/Introduction_To_BiocParallel.Rnw" - "inst/doc/Errors_Logs_And_Debugging.Rnw" - "vignettes/BiocParallel_BatchtoolsParam.Rnw" - "vignettes/Introduction_To_BiocParallel.Rnw" - "vignettes/Errors_Logs_And_Debugging.Rnw") - (("\\today") "later")) - - ;; Initialize the random number generator seed when building. - (substitute* "R/internal_rng_stream.R" - (("\"L'Ecuyer-CMRG\"\\)" m) - (string-append - m "; if (!is.na(Sys.getenv(\"SOURCE_DATE_EPOCH\"))) {set.seed(100)}\n")))))))) - (propagated-inputs - `(("r-futile-logger" ,r-futile-logger) - ("r-snow" ,r-snow) - ("r-bh" ,r-bh))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/BiocParallel") - (synopsis "Bioconductor facilities for parallel evaluation") - (description - "This package provides modified versions and novel implementation of -functions for parallel evaluation, tailored to use with Bioconductor -objects.") - (license (list license:gpl2+ license:gpl3+)))) - -(define-public r-biostrings - (package - (name "r-biostrings") - (version "2.58.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "Biostrings" version)) - (sha256 - (base32 - "1rbqhs73mhfr1gi0rx28jiyan7i3hb45ai3jpl1656fnrhgjfxq5")))) - (properties - `((upstream-name . "Biostrings"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics) - ("r-crayon" ,r-crayon) - ("r-iranges" ,r-iranges) - ("r-s4vectors" ,r-s4vectors) - ("r-xvector" ,r-xvector))) - (home-page "https://bioconductor.org/packages/Biostrings") - (synopsis "String objects and algorithms for biological sequences") - (description - "This package provides memory efficient string containers, string -matching algorithms, and other utilities, for fast manipulation of large -biological sequences or sets of sequences.") - (license license:artistic2.0))) - (define-public r-category (package (name "r-category") @@ -1974,37 +1770,6 @@ translation between different chromosome sequence naming conventions (e.g., names in their natural, rather than lexicographic, order.") (license license:artistic2.0))) -(define-public r-genomicranges - (package - (name "r-genomicranges") - (version "1.42.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "GenomicRanges" version)) - (sha256 - (base32 - "0j4py5g6pdj35xhlaqhxxhg55j9l4mcdk3yck4dgyavv5f2dh24i")))) - (properties - `((upstream-name . "GenomicRanges"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics) - ("r-genomeinfodb" ,r-genomeinfodb) - ("r-iranges" ,r-iranges) - ("r-s4vectors" ,r-s4vectors) - ("r-xvector" ,r-xvector))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/GenomicRanges") - (synopsis "Representation and manipulation of genomic intervals") - (description - "This package provides tools to efficiently represent and manipulate -genomic annotations and alignments is playing a central role when it comes to -analyzing high-throughput sequencing data (a.k.a. NGS data). The -GenomicRanges package defines general purpose containers for storing and -manipulating genomic intervals and variables defined along a genome.") - (license license:artistic2.0))) - (define-public r-gostats (package (name "r-gostats") @@ -2085,25 +1850,6 @@ Enrichment Analysis} (GSEA).") the Human Protein Atlas project.") (license license:artistic2.0))) -(define-public r-limma - (package - (name "r-limma") - (version "3.46.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "limma" version)) - (sha256 - (base32 - "1xxv493q1kip9bjfv7v7k5dnq7hz7gvl80i983v4mvwavhgnbxfz")))) - (build-system r-build-system) - (home-page "http://bioinf.wehi.edu.au/limma") - (synopsis "Package for linear models for microarray and RNA-seq data") - (description "This package can be used for the analysis of gene expression -studies, especially the use of linear models for analysing designed experiments -and the assessment of differential expression. The analysis methods apply to -different technologies, including microarrays, RNA-seq, and quantitative PCR.") - (license license:gpl2+))) - (define-public r-rbgl (package (name "r-rbgl") @@ -2208,49 +1954,6 @@ reports together for a particular project that can be viewed in a web browser.") (license license:artistic2.0))) -(define-public r-rsamtools - (package - (name "r-rsamtools") - (version "2.6.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "Rsamtools" version)) - (sha256 - (base32 - "040pggkwglc6wy90qnc7xcdnaj0v3iqlykvvsl74241409qly554")))) - (properties - `((upstream-name . "Rsamtools"))) - (build-system r-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'use-system-zlib - (lambda _ - (substitute* "DESCRIPTION" - (("zlibbioc, ") "")) - (substitute* "NAMESPACE" - (("import\\(zlibbioc\\)") "")) - #t))))) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics) - ("r-biocparallel" ,r-biocparallel) - ("r-biostrings" ,r-biostrings) - ("r-bitops" ,r-bitops) - ("r-genomeinfodb" ,r-genomeinfodb) - ("r-genomicranges" ,r-genomicranges) - ("r-iranges" ,r-iranges) - ("r-rhtslib" ,r-rhtslib) - ("r-s4vectors" ,r-s4vectors) - ("r-xvector" ,r-xvector))) - (home-page "https://bioconductor.org/packages/release/bioc/html/Rsamtools.html") - (synopsis "Interface to samtools, bcftools, and tabix") - (description - "This package provides an interface to the @code{samtools}, -@code{bcftools}, and @code{tabix} utilities for manipulating SAM (Sequence -Alignment / Map), FASTA, binary variant call (BCF) and compressed indexed -tab-delimited (tabix) files.") - (license license:expat))) - (define-public r-shortread (package (name "r-shortread") @@ -2386,42 +2089,6 @@ annotation infrastructure.") coding changes and predict coding outcomes.") (license license:artistic2.0))) -(define-public r-xvector - (package - (name "r-xvector") - (version "0.30.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "XVector" version)) - (sha256 - (base32 - "1pqljikg4f6jb7wgm5537zwgq5b013nyz1agjrwfq2cljb0ym6lq")))) - (properties - `((upstream-name . "XVector"))) - (build-system r-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'use-system-zlib - (lambda _ - (substitute* "DESCRIPTION" - (("zlibbioc, ") "")) - (substitute* "NAMESPACE" - (("import\\(zlibbioc\\)") "")) - #t))))) - (inputs - `(("zlib" ,zlib))) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics) - ("r-iranges" ,r-iranges) - ("r-s4vectors" ,r-s4vectors))) - (home-page "https://bioconductor.org/packages/XVector") - (synopsis "Representation and manpulation of external sequences") - (description - "This package provides memory efficient S4 classes for storing sequences -\"externally\" (behind an R external pointer, or on disk).") - (license license:artistic2.0))) - (define-public r-geneplotter (package (name "r-geneplotter") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index bc342b5de8..d9afe2c56f 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7691,6 +7691,311 @@ including VCF header and contents in RDF and JSON.") (home-page "https://github.com/vcflib/bio-vcf") (license license:expat))) +(define-public r-limma + (package + (name "r-limma") + (version "3.46.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "limma" version)) + (sha256 + (base32 + "1xxv493q1kip9bjfv7v7k5dnq7hz7gvl80i983v4mvwavhgnbxfz")))) + (build-system r-build-system) + (home-page "http://bioinf.wehi.edu.au/limma") + (synopsis "Package for linear models for microarray and RNA-seq data") + (description "This package can be used for the analysis of gene expression +studies, especially the use of linear models for analysing designed experiments +and the assessment of differential expression. The analysis methods apply to +different technologies, including microarrays, RNA-seq, and quantitative PCR.") + (license license:gpl2+))) + +(define-public r-xvector + (package + (name "r-xvector") + (version "0.30.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "XVector" version)) + (sha256 + (base32 + "1pqljikg4f6jb7wgm5537zwgq5b013nyz1agjrwfq2cljb0ym6lq")))) + (properties + `((upstream-name . "XVector"))) + (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'use-system-zlib + (lambda _ + (substitute* "DESCRIPTION" + (("zlibbioc, ") "")) + (substitute* "NAMESPACE" + (("import\\(zlibbioc\\)") "")) + #t))))) + (inputs + `(("zlib" ,zlib))) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-iranges" ,r-iranges) + ("r-s4vectors" ,r-s4vectors))) + (home-page "https://bioconductor.org/packages/XVector") + (synopsis "Representation and manpulation of external sequences") + (description + "This package provides memory efficient S4 classes for storing sequences +\"externally\" (behind an R external pointer, or on disk).") + (license license:artistic2.0))) + +(define-public r-genomicranges + (package + (name "r-genomicranges") + (version "1.42.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "GenomicRanges" version)) + (sha256 + (base32 + "0j4py5g6pdj35xhlaqhxxhg55j9l4mcdk3yck4dgyavv5f2dh24i")))) + (properties + `((upstream-name . "GenomicRanges"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-iranges" ,r-iranges) + ("r-s4vectors" ,r-s4vectors) + ("r-xvector" ,r-xvector))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/GenomicRanges") + (synopsis "Representation and manipulation of genomic intervals") + (description + "This package provides tools to efficiently represent and manipulate +genomic annotations and alignments is playing a central role when it comes to +analyzing high-throughput sequencing data (a.k.a. NGS data). The +GenomicRanges package defines general purpose containers for storing and +manipulating genomic intervals and variables defined along a genome.") + (license license:artistic2.0))) + +(define-public r-biobase + (package + (name "r-biobase") + (version "2.50.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "Biobase" version)) + (sha256 + (base32 + "11kgc4flywlm3i18603558l8ksv91c24vkc5fnnbcd375i2dhhd4")))) + (properties + `((upstream-name . "Biobase"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics))) + (home-page "https://bioconductor.org/packages/Biobase") + (synopsis "Base functions for Bioconductor") + (description + "This package provides functions that are needed by many other packages +on Bioconductor or which replace R functions.") + (license license:artistic2.0))) + +(define-public r-annotationdbi + (package + (name "r-annotationdbi") + (version "1.52.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "AnnotationDbi" version)) + (sha256 + (base32 + "0zqxgh3nx6y8ry12s2vss2f4axz5vpqxha1y4ifhhcx4zhpzsglr")))) + (properties + `((upstream-name . "AnnotationDbi"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-dbi" ,r-dbi) + ("r-iranges" ,r-iranges) + ("r-rsqlite" ,r-rsqlite) + ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/AnnotationDbi") + (synopsis "Annotation database interface") + (description + "This package provides user interface and database connection code for +annotation data packages using SQLite data storage.") + (license license:artistic2.0))) + +(define-public r-biomart + (package + (name "r-biomart") + (version "2.46.3") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "biomaRt" version)) + (sha256 + (base32 + "0gwmd0ykpv0gyh34c56g5m12lil20fvig49f3ih1jxrxf3q4wmq7")))) + (properties + `((upstream-name . "biomaRt"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotationdbi" ,r-annotationdbi) + ("r-biocfilecache" ,r-biocfilecache) + ("r-httr" ,r-httr) + ("r-openssl" ,r-openssl) + ("r-progress" ,r-progress) + ("r-rappdirs" ,r-rappdirs) + ("r-stringr" ,r-stringr) + ("r-xml" ,r-xml) + ("r-xml2" ,r-xml2))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/biomaRt") + (synopsis "Interface to BioMart databases") + (description + "biomaRt provides an interface to a growing collection of databases +implementing the @url{BioMart software suite, http://www.biomart.org}. The +package enables retrieval of large amounts of data in a uniform way without +the need to know the underlying database schemas or write complex SQL queries. +Examples of BioMart databases are Ensembl, COSMIC, Uniprot, HGNC, Gramene, +Wormbase and dbSNP mapped to Ensembl. These major databases give biomaRt +users direct access to a diverse set of data and enable a wide range of +powerful online queries from gene annotation to database mining.") + (license license:artistic2.0))) + +(define-public r-biocparallel + (package + (name "r-biocparallel") + (version "1.24.1") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "BiocParallel" version)) + (sha256 + (base32 + "1iryicvmcagcrj29kp49mqhiq2kn72j4idj380hi9illmdrg9ism")))) + (properties + `((upstream-name . "BiocParallel"))) + (build-system r-build-system) + (propagated-inputs + `(("r-futile-logger" ,r-futile-logger) + ("r-snow" ,r-snow) + ("r-bh" ,r-bh))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/BiocParallel") + (synopsis "Bioconductor facilities for parallel evaluation") + (description + "This package provides modified versions and novel implementation of +functions for parallel evaluation, tailored to use with Bioconductor +objects.") + (license (list license:gpl2+ license:gpl3+)))) + +(define-public r-biostrings + (package + (name "r-biostrings") + (version "2.58.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "Biostrings" version)) + (sha256 + (base32 + "1rbqhs73mhfr1gi0rx28jiyan7i3hb45ai3jpl1656fnrhgjfxq5")))) + (properties + `((upstream-name . "Biostrings"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-crayon" ,r-crayon) + ("r-iranges" ,r-iranges) + ("r-s4vectors" ,r-s4vectors) + ("r-xvector" ,r-xvector))) + (home-page "https://bioconductor.org/packages/Biostrings") + (synopsis "String objects and algorithms for biological sequences") + (description + "This package provides memory efficient string containers, string +matching algorithms, and other utilities, for fast manipulation of large +biological sequences or sets of sequences.") + (license license:artistic2.0))) + +(define-public r-rsamtools + (package + (name "r-rsamtools") + (version "2.6.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "Rsamtools" version)) + (sha256 + (base32 + "040pggkwglc6wy90qnc7xcdnaj0v3iqlykvvsl74241409qly554")))) + (properties + `((upstream-name . "Rsamtools"))) + (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'use-system-zlib + (lambda _ + (substitute* "DESCRIPTION" + (("zlibbioc, ") "")) + (substitute* "NAMESPACE" + (("import\\(zlibbioc\\)") "")) + #t))))) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-biocparallel" ,r-biocparallel) + ("r-biostrings" ,r-biostrings) + ("r-bitops" ,r-bitops) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) + ("r-rhtslib" ,r-rhtslib) + ("r-s4vectors" ,r-s4vectors) + ("r-xvector" ,r-xvector))) + (home-page "https://bioconductor.org/packages/release/bioc/html/Rsamtools.html") + (synopsis "Interface to samtools, bcftools, and tabix") + (description + "This package provides an interface to the @code{samtools}, +@code{bcftools}, and @code{tabix} utilities for manipulating SAM (Sequence +Alignment / Map), FASTA, binary variant call (BCF) and compressed indexed +tab-delimited (tabix) files.") + (license license:expat))) + +(define-public r-delayedarray + (package + (name "r-delayedarray") + (version "0.16.2") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "DelayedArray" version)) + (sha256 + (base32 + "09lpj951v1afxkrnjvnhzp4qgklq23ykdwlny7k1lyfcdy9q6wm0")))) + (properties + `((upstream-name . "DelayedArray"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-s4vectors" ,r-s4vectors) + ("r-iranges" ,r-iranges) + ("r-matrix" ,r-matrix) + ("r-matrixgenerics" ,r-matrixgenerics))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/DelayedArray") + (synopsis "Delayed operations on array-like objects") + (description + "Wrapping an array-like object (typically an on-disk object) in a +@code{DelayedArray} object allows one to perform common array operations on it +without loading the object in memory. In order to reduce memory usage and +optimize performance, operations on the object are either delayed or executed +using a block processing mechanism. Note that this also works on in-memory +array-like objects like @code{DataFrame} objects (typically with Rle columns), +@code{Matrix} objects, and ordinary arrays and data frames.") + (license license:artistic2.0))) + (define-public r-summarizedexperiment (package (name "r-summarizedexperiment") From 341dfe7eda4972af0a027357015ea595314438b0 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Thu, 11 Mar 2021 23:19:30 -0800 Subject: [PATCH 0699/1003] syscalls: mounts: Fix a matching bug. On some systems, the columns in /proc/self/mountinfo look like this: 23 28 0:21 / /proc rw,nosuid,nodev,noexec,relatime shared:11 - proc proc rw Before this change, the mounts procedure was written with the assumption that the type and source could always be found in columns 8 and 9, respectively. However, the proc(5) man page explains that there can be zero or more optional fields starting at column 7 (e.g., "shared:11" above), so this assumption is false in some situations. * guix/build/syscalls.scm (mounts): Update the match pattern to use ellipsis to match zero or more optional fields followed by a single hyphen. Remove the trailing ellipsis, since multiple ellipses are not allowed in the same level. The proc(5) man page indicates that there are no additional columns, so it is probably OK to match an exact number of columns at the end like this. --- guix/build/syscalls.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index 6ed11a0d69..4379768f5e 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -636,8 +636,9 @@ current process." (if (eof-object? line) (reverse result) (match (string-tokenize line) + ;; See the proc(5) man page for a description of the columns. ((id parent-id major:minor root mount-point - options _ type source _ ...) + options _ ... "-" type source _) (let ((devno (string->device-number major:minor))) (loop (cons (%mount (octal-decode source) (octal-decode mount-point) From 3679286bb4a69322048e1b8c17b161c4ad386769 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Reich=C3=B6r?= Date: Mon, 15 Mar 2021 23:07:34 +0100 Subject: [PATCH 0700/1003] gnu: glances: Update to 3.1.6. * gnu/packages/python-xyz.scm (glances): Update to 3.1.6. Signed-off-by: Efraim Flashner --- gnu/packages/python-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 2114503ff3..2098f00d85 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -27,7 +27,7 @@ ;;; Copyright © 2016 Dylan Jeffers ;;; Copyright © 2016 David Craven ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Marius Bakke -;;; Copyright © 2016, 2017 Stefan Reichör +;;; Copyright © 2016, 2017, 2021 Stefan Reichör ;;; Copyright © 2016, 2017, 2019 Alex Vong ;;; Copyright © 2016, 2017, 2018 Arun Isaac ;;; Copyright © 2016, 2017, 2018, 2020, 2021 Julien Lepiller @@ -14542,13 +14542,13 @@ command @command{natsort} that exposes this functionality in the command line.") (define-public glances (package (name "glances") - (version "3.1.4") + (version "3.1.6") (source (origin (method url-fetch) (uri (pypi-uri "Glances" version)) (sha256 - (base32 "0dc47gbvp9a3wxppdqihxpglxxaxbj3hcvzgcxxq8zcsciah3plq")) + (base32 "11xbm8jgcxha191ly7q76nab1ilabiz14mqf6i3y6aw5xvgg017c")) (modules '((guix build utils))) (snippet '(begin From e5fcfb82e0eaf591fa6e8e390dbda842d239ef7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Reich=C3=B6r?= Date: Mon, 15 Mar 2021 23:02:20 +0100 Subject: [PATCH 0701/1003] gnu: tmsu: Improve installation. * gnu/packages/file-systems.scm (tmsu)[arguments]: Don't install go source files. Install binary as tmsu instead of TMSU. Signed-off-by: Efraim Flashner --- gnu/packages/file-systems.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index e7d78e41fb..198653c639 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2020 Raghav Gururajan ;;; Copyright © 2020 Morgan Smith ;;; Copyright © 2021 raid5atemyhomework +;;; Copyright © 2021 Stefan Reichör ;;; ;;; This file is part of GNU Guix. ;;; @@ -1174,7 +1175,16 @@ local file system using FUSE.") (build-system go-build-system) (arguments `(#:import-path "github.com/oniony/TMSU" - #:unpack-path "..")) + #:unpack-path ".." + #:install-source? #f + #:phases + (modify-phases %standard-phases + (add-after 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; The go build system produces /bin/TMSU -> install as /bin/tmsu + (rename-file (string-append out "/bin/TMSU") + (string-append out "/bin/tmsu")))))))) (inputs `(("go-github-com-mattn-go-sqlite3" ,go-github-com-mattn-go-sqlite3) ("go-github-com-hanwen-fuse" ,go-github-com-hanwen-fuse))) From a01bfa7deed1d556fc75ab5588517442054bc5a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Tue, 16 Mar 2021 08:56:51 +0100 Subject: [PATCH 0702/1003] gnu: python-urllib3: Update to 1.26.4 [fixes CVE-2021-28363]. * gnu/packages/python-web.scm (python-urllib3/fixed): New variable. (python-urllib3)[replacement]: Graft. --- gnu/packages/python-web.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index e327b3b030..fe79537a63 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -2726,6 +2726,7 @@ authenticated session objects providing things like keep-alive.") (sha256 (base32 "024yldjwjavps39yb77sc422z8fa9bn20wcqrcncjwrqjab8y60r")))) + (replacement python-urllib3/fixed) (build-system python-build-system) (arguments `(#:tests? #f)) (propagated-inputs @@ -2744,6 +2745,17 @@ supports url redirection and retries, and also gzip and deflate decoding.") (properties `((python2-variant . ,(delay python2-urllib3)))) (license license:expat))) +(define python-urllib3/fixed + (package/inherit python-urllib3 + (version "1.26.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "urllib3" version)) + (sha256 + (base32 + "0dw9w9bs3hmr5dp3r3h43jyzzb1g1046ag7lj8pqf58i4kvj3c77")))))) + ;; Some software requires an older version of urllib3, notably Docker. (define-public python-urllib3-1.24 (package (inherit python-urllib3) From db87d6ddafd26c5ad657178cf7fdab524d05c522 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Tue, 16 Mar 2021 09:25:02 +0100 Subject: [PATCH 0703/1003] gnu: python2-urllib3: Update to 1.26.4 [fixes CVE-2021-28363]. * gnu/packages/python-web.scm (python2-urllib3)[base]: Base off of python-urllib3/fixed. --- gnu/packages/python-web.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index fe79537a63..ea75fa9390 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -2769,7 +2769,7 @@ supports url redirection and retries, and also gzip and deflate decoding.") (define-public python2-urllib3 - (let ((base (package-with-python2 (strip-python2-variant python-urllib3)))) + (let ((base (package-with-python2 (strip-python2-variant python-urllib3/fixed)))) (package/inherit base (propagated-inputs From ab9629b7c91ff7d6392a03512cfe442823267777 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Tue, 16 Mar 2021 10:52:11 +0100 Subject: [PATCH 0704/1003] gnu: git: Update to 2.31.0. * gnu/packages/version-control.scm (git): Update to 2.31.0. --- gnu/packages/version-control.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index d85b5352fa..11e266cada 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -170,14 +170,14 @@ as well as the classic centralized workflow.") (define-public git (package (name "git") - (version "2.30.2") + (version "2.31.0") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "1ajz6lng6yldqm66lhrjfgbbxk09rq8cngv7hz9nqizrf46dkxs1")))) + "0h4sg3xqa9pd2agrd7m18sqg319ls978d39qswyf30rjvg5n5wg8")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) From 0ee5d4f7a8e25be437297f88ed7013c4f37abafb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Tue, 16 Mar 2021 10:58:36 +0100 Subject: [PATCH 0705/1003] gnu: git: Fix git-manpages native input's hash. This is a follow-up to commit ab9629b7c91ff7d6392a03512cfe442823267777. * gnu/packages/version-control.scm (git)[native-inputs]: Fix git-manpages's hash. --- gnu/packages/version-control.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 11e266cada..ecb2ec7c6a 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -194,7 +194,7 @@ as well as the classic centralized workflow.") version ".tar.xz")) (sha256 (base32 - "1aiabqbc6mg23r19g2cwd4iajf55cpkxqylwn14hgpg64piaqr2y")))) + "1v40wwj130k76xf2w6vwhvfpkk765q1gcy5bqcrqssxf66ydqp8q")))) ;; For subtree documentation. ("asciidoc" ,asciidoc-py3) ("docbook-xsl" ,docbook-xsl) From 097cf21d1d34f4f66a403c3fb6e15b6709c4dd8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Fri, 12 Mar 2021 01:59:10 +0100 Subject: [PATCH 0706/1003] gnu: Remove MongoDB. mongodb 3.4.10 has unpatched CVEs and mongodb 3.4.24 has some files in the release tarball under the SSPL, therefore we cannot provide mongodb while upholding to good security standards. It turns out feff80cec3c97a3df2c20d300be12d67f79d4f22 was right since while the main license file wasnt altered to SSPL, some files in the tree contain SSPL headers. * gnu/packages/databases.scm (go-gopkg.in-mgo.v2): Remove. * gnu/packages/databases.scm (mongo-tools): Remove. * doc/guix.texi (mongodb-service-type): Remove. * gnu/tests/databases.scm (%test-mongodb, %mongodb-os, run-mongodb-test): Remove. * gnu/services/databases.scm (mongodb-configuration, mongodb-configuration?, mongodb-configuration-mongodb, mongodb-configuration-config-file, mongodb-configuration-data-directory, mongodb-service-type, %default-mongodb-configuration-file, %mongodb-accounts, mongodb-activation, mongodb-shepherd-service): Remove. * gnu/packages/databases.scm (mongodb): Remove. --- doc/guix.texi | 28 ---- gnu/packages/databases.scm | 298 ------------------------------------- gnu/services/databases.scm | 88 ----------- gnu/tests/databases.scm | 83 ----------- 4 files changed, 497 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index e6ef7dbe03..410670e639 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -19810,34 +19810,6 @@ Additional command line options to pass to @code{memcached}. @end table @end deftp -@subsubheading MongoDB - -@defvr {Scheme Variable} mongodb-service-type -This is the service type for @uref{https://www.mongodb.com/, MongoDB}. -The value for the service type is a @code{mongodb-configuration} object. -@end defvr - -@lisp -(service mongodb-service-type) -@end lisp - -@deftp {Data Type} mongodb-configuration -Data type representing the configuration of mongodb. - -@table @asis -@item @code{mongodb} (default: @code{mongodb}) -The MongoDB package to use. - -@item @code{config-file} (default: @code{%default-mongodb-configuration-file}) -The configuration file for MongoDB. - -@item @code{data-directory} (default: @code{"/var/lib/mongodb"}) -This value is used to create the directory, so that it exists and is -owned by the mongodb user. It should match the data-directory which -MongoDB is configured to use through the configuration file. -@end table -@end deftp - @subsubheading Redis @defvr {Scheme Variable} redis-service-type diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 8705cd2be4..5249aa0d10 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -193,52 +193,6 @@ either single machines or networked clusters.") (license license:gpl3+))) -(define-public go-gopkg.in-mgo.v2 - (package - (name "go-gopkg.in-mgo.v2") - (version "2016.08.01") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/go-mgo/mgo") - (commit (string-append "r" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0rwbi1z63w43b0z9srm8m7iz1fdwx7bq7n2mz862d6liiaqa59jd")))) - (build-system go-build-system) - (arguments - `(#:import-path "gopkg.in/mgo.v2" - ;; TODO: The tests fail as MongoDB fails to start - ;; Error parsing command line: unrecognised option '--chunkSize' - #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'reset-gzip-timestamps) - (add-before 'check 'start-mongodb - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (with-directory-excursion "src/gopkg.in/mgo.v2" - (invoke "make" "startdb"))) - #t)) - (add-after 'check 'stop'mongodb - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (with-directory-excursion "src/gopkg.in/mgo.v2" - (invoke "make" "stopdb"))) - #t))))) - (native-inputs - `(("go-gopkg.in-check.v1" ,go-gopkg.in-check.v1) - ("mongodb" ,mongodb) - ("daemontools" ,daemontools))) - (synopsis "@code{mgo} offers a rich MongoDB driver for Go.") - (description - "@code{mgo} (pronounced as mango) is a MongoDB driver for the Go language. -It implements a rich selection of features under a simple API following -standard Go idioms.") - (home-page "https://labix.org/mgo") - (license license:bsd-2))) - (define-public ephemeralpg (package (name "ephemeralpg") @@ -661,143 +615,6 @@ replacement for the code@{python-memcached} library.") (define-public python2-pylibmc (package-with-python2 python-pylibmc)) -;; There is a point at which mongodb switched to the Server Side Public -;; License (SSPL), which is not a FOSS license. As such, be careful -;; when updating this package. -(define-public mongodb - (package - (name "mongodb") - (version "3.4.24") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/mongodb/mongo/archive/r" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0y1669sqj8wyf0y0njhxs4qhn1qzjhrs2h2qllya5samxrlrjhkg")) - (modules '((guix build utils))) - (snippet - '(begin - (for-each (lambda (dir) - (delete-file-recursively - (string-append "src/third_party/" dir))) - '("pcre-8.42" "scons-2.5.0" "snappy-1.1.3" - "valgrind-3.11.0" "wiredtiger" - "yaml-cpp-0.6.2" "zlib-1.2.11")) - #t)))) - (build-system scons-build-system) - (inputs - `(("openssl" ,openssl-1.0) - ("pcre" ,pcre) - ,@(match (%current-system) - ((or "x86_64-linux" "aarch64-linux" "mips64el-linux") - `(("wiredtiger" ,wiredtiger))) - (_ `())) - ("yaml-cpp" ,yaml-cpp) - ("zlib" ,zlib) - ("snappy" ,snappy))) - (native-inputs - `(("valgrind" ,valgrind) - ("perl" ,perl) - ("python" ,python-2) - ("python2-pymongo" ,python2-pymongo) - ("python2-pyyaml" ,python2-pyyaml) - ("tzdata" ,tzdata-for-tests))) - (arguments - `(#:scons ,scons-python2 - #:phases - (let ((common-options - `(;; "--use-system-tcmalloc" TODO: Missing gperftools - "--use-system-pcre" - ;; wiredtiger is 64-bit only - ,,(if (any (cute string-prefix? <> (or (%current-target-system) - (%current-system))) - '("i686-linux" "armhf-linux")) - ``"--wiredtiger=off" - ``"--use-system-wiredtiger") - ;; TODO - ;; build/opt/mongo/db/fts/unicode/string.o failed: Error 1 - ;; --use-system-boost - "--use-system-snappy" - "--use-system-zlib" - "--use-system-valgrind" - ;; "--use-system-stemmer" TODO: Missing relevant package - "--use-system-yaml" - "--disable-warnings-as-errors" - ,(format #f "--jobs=~a" (parallel-job-count)) - "--ssl"))) - (modify-phases %standard-phases - (add-after 'unpack 'patch - (lambda _ - ;; Remove use of GNU extensions in parse_number_test.cpp, to - ;; allow compiling with GCC 7 or later - ;; https://jira.mongodb.org/browse/SERVER-28063 - (substitute* "src/mongo/base/parse_number_test.cpp" - (("0xabcab\\.defdefP-10") - "687.16784283419838")) - #t)) - (add-after 'unpack 'scons-propagate-environment - (lambda _ - ;; Modify the SConstruct file to arrange for - ;; environment variables to be propagated. - (substitute* "SConstruct" - (("^env = Environment\\(") - "env = Environment(ENV=os.environ, ")) - #t)) - (add-after 'unpack 'create-version-file - (lambda _ - (call-with-output-file "version.json" - (lambda (port) - (display ,(simple-format #f "{ - \"version\": \"~A\" -}" version) port))) - #t)) - (replace 'build - (lambda _ - (apply invoke `("scons" - ,@common-options - "mongod" "mongo" "mongos")))) - (replace 'check - (lambda* (#:key tests? inputs #:allow-other-keys) - (setenv "TZDIR" - (string-append (assoc-ref inputs "tzdata") - "/share/zoneinfo")) - (when tests? - ;; Note that with the tests, especially the unittests, the - ;; build can take up to ~45GB of space, as many tests are - ;; individual executable files, with some being hundreds of - ;; megabytes in size. - (apply invoke `("scons" ,@common-options "dbtest" "unittests")) - (substitute* "build/unittests.txt" - ;; TODO: Don't run the async_stream_test, as it hangs - (("^build\\/opt\\/mongo\\/executor\\/async\\_stream\\_test\n$") - "") - ;; TODO: This test fails - ;; Expected 0UL != disks.size() (0 != 0) @src/mongo/util/procparser_test.cpp:476 - (("^build\\/opt\\/mongo\\/util\\/procparser\\_test\n$") - "")) - (invoke "python" "buildscripts/resmoke.py" - "--suites=dbtest,unittests" - (format #f "--jobs=~a" (parallel-job-count)))) - #t)) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) - (install-file "mongod" bin) - (install-file "mongos" bin) - (install-file "mongo" bin)) - #t)))))) - (home-page "https://www.mongodb.org/") - (synopsis "High performance and high availability document database") - (description - "Mongo is a high-performance, high availability, schema-free -document-oriented database. A key goal of MongoDB is to bridge the gap -between key/value stores (which are fast and highly scalable) and traditional -RDBMS systems (which are deep in functionality).") - (license (list license:agpl3 - ;; Some parts are licensed under the Apache License - license:asl2.0)))) - (define-public mycli (package (name "mycli") @@ -3686,121 +3503,6 @@ transforms idiomatic python function calls to well-formed SQL queries.") the SQL language using a syntax that reflects the resulting query.") (license license:asl2.0))) -(define-public mongo-tools - (package - (name "mongo-tools") - (version "3.4.0") - (source - (origin (method git-fetch) - (uri (git-reference - (url "https://github.com/mongodb/mongo-tools") - (commit (string-append "r" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1bcsz5cvj39a7nsxsfqmz9igrw33j6yli9kffigqyscs52amw7x1")))) - (build-system go-build-system) - (arguments - `(#:import-path "github.com/mongodb/mongo-tools" - #:modules ((srfi srfi-1) - (guix build go-build-system) - (guix build utils)) - #:install-source? #f - #:phases - (let ((all-tools - '("bsondump" "mongodump" "mongoexport" "mongofiles" - "mongoimport" "mongooplog" "mongorestore" - "mongostat" "mongotop"))) - (modify-phases %standard-phases - (add-after 'unpack 'delete-bundled-source-code - (lambda _ - (delete-file-recursively - "src/github.com/mongodb/mongo-tools/vendor") - #t)) - (add-after 'delete-bundled-source-code 'patch-source - (lambda _ - ;; Remove a redundant argument that causes compilation to fail. - (substitute* - "src/github.com/mongodb/mongo-tools/mongorestore/filepath.go" - (("skipping restore of system.profile collection\", db)") - "skipping restore of system.profile collection\")")) - #t)) - (replace 'build - (lambda _ - (for-each (lambda (tool) - (let ((command - `("go" "build" - ;; This is where the tests expect to find the - ;; executables - "-o" ,(string-append - "src/github.com/mongodb/mongo-tools/bin/" - tool) - "-v" - "-tags=\"ssl sasl\"" - "-ldflags" - "-extldflags=-Wl,-z,now,-z,relro" - ,(string-append - "src/github.com/mongodb/mongo-tools/" - tool "/main/" tool ".go")))) - (simple-format #t "build: running ~A\n" - (string-join command)) - (apply invoke command))) - all-tools) - #t)) - (replace 'check - (lambda _ - (with-directory-excursion "src" - (for-each (lambda (tool) - (invoke - "go" "test" "-v" - (string-append "github.com/mongodb/mongo-tools/" - tool))) - all-tools)) - #t)) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (for-each (lambda (tool) - (install-file - (string-append "src/github.com/mongodb/mongo-tools/bin/" - tool) - (string-append (assoc-ref outputs "out") - "/bin"))) - all-tools) - #t)))))) - (native-inputs - `(("go-github.com-howeyc-gopass" ,go-github.com-howeyc-gopass) - ("go-github.com-jessevdk-go-flags" ,go-github.com-jessevdk-go-flags) - ("go-golang-org-x-crypto" ,go-golang-org-x-crypto) - ("go-gopkg.in-mgo.v2" ,go-gopkg.in-mgo.v2) - ("go-gopkg.in-tomb.v2" ,go-gopkg.in-tomb.v2) - ("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go) - ("go-github.com-smartystreets-goconvey" ,go-github.com-smartystreets-goconvey))) - (home-page "https://github.com/mongodb/mongo-tools") - (synopsis "Various tools for interacting with MongoDB and BSON") - (description - "This package includes a collection of tools related to MongoDB. -@table @code -@item bsondump -Display BSON files in a human-readable format -@item mongoimport -Convert data from JSON, TSV or CSV and insert them into a collection -@item mongoexport -Write an existing collection to CSV or JSON format -@item mongodump/mongorestore -Dump MongoDB backups to disk in the BSON format -@item mongorestore -Read MongoDB backups in the BSON format, and restore them to a live database -@item mongostat -Monitor live MongoDB servers, replica sets, or sharded clusters -@item mongofiles -Read, write, delete, or update files in GridFS -@item mongooplog -Replay oplog entries between MongoDB servers -@item mongotop -Monitor read/write activity on a mongo server -@end table") - (license license:asl2.0))) - ;; There are many wrappers for this in other languages. When touching, please ;; be sure to ensure all dependencies continue to build. (define-public apache-arrow diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm index 979f3dd6c8..a841e7a50e 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -79,13 +79,6 @@ memcached-configuration-udp-port memcached-configuration-additional-options - mongodb-configuration - mongodb-configuration? - mongodb-configuration-mongodb - mongodb-configuration-config-file - mongodb-configuration-data-directory - mongodb-service-type - mysql-service mysql-service-type mysql-configuration @@ -521,87 +514,6 @@ created after the PostgreSQL database is started."))) (const %memcached-accounts)))) (default-value (memcached-configuration)))) - -;;; -;;; MongoDB -;;; - -(define %default-mongodb-configuration-file - (plain-file - "mongodb.yaml" - "# GNU Guix: MongoDB default configuration file -processManagement: - pidFilePath: /var/run/mongodb/pid -storage: - dbPath: /var/lib/mongodb -")) - - -(define-record-type* - mongodb-configuration make-mongodb-configuration - mongodb-configuration? - (mongodb mongodb-configuration-mongodb - (default mongodb)) - (config-file mongodb-configuration-config-file - (default %default-mongodb-configuration-file)) - (data-directory mongodb-configuration-data-directory - (default "/var/lib/mongodb"))) - -(define %mongodb-accounts - (list (user-group (name "mongodb") (system? #t)) - (user-account - (name "mongodb") - (group "mongodb") - (system? #t) - (comment "Mongodb server user") - (home-directory "/var/lib/mongodb") - (shell (file-append shadow "/sbin/nologin"))))) - -(define mongodb-activation - (match-lambda - (($ mongodb config-file data-directory) - #~(begin - (use-modules (guix build utils)) - (let ((user (getpwnam "mongodb"))) - (for-each - (lambda (directory) - (mkdir-p directory) - (chown directory - (passwd:uid user) (passwd:gid user))) - '("/var/run/mongodb" #$data-directory))))))) - -(define mongodb-shepherd-service - (match-lambda - (($ mongodb config-file data-directory) - (shepherd-service - (provision '(mongodb)) - (documentation "Run the Mongodb daemon.") - (requirement '(user-processes loopback)) - (start #~(make-forkexec-constructor - `(,(string-append #$mongodb "/bin/mongod") - "--config" - ,#$config-file) - #:user "mongodb" - #:group "mongodb" - #:pid-file "/var/run/mongodb/pid" - #:log-file "/var/log/mongodb.log")) - (stop #~(make-kill-destructor)))))) - -(define mongodb-service-type - (service-type - (name 'mongodb) - (description "Run the MongoDB document database server.") - (extensions - (list (service-extension shepherd-root-service-type - (compose list - mongodb-shepherd-service)) - (service-extension activation-service-type - mongodb-activation) - (service-extension account-service-type - (const %mongodb-accounts)))) - (default-value - (mongodb-configuration)))) - ;;; ;;; MySQL. diff --git a/gnu/tests/databases.scm b/gnu/tests/databases.scm index e831d69f5a..4bfe4ee282 100644 --- a/gnu/tests/databases.scm +++ b/gnu/tests/databases.scm @@ -30,7 +30,6 @@ #:use-module (guix gexp) #:use-module (guix store) #:export (%test-memcached - %test-mongodb %test-postgresql %test-mysql)) @@ -127,88 +126,6 @@ (description "Connect to a running MEMCACHED server.") (value (run-memcached-test)))) -(define %mongodb-os - (operating-system - (inherit - (simple-operating-system - (service dhcp-client-service-type) - (service mongodb-service-type))) - (packages (cons* mongodb - %base-packages)))) - -(define* (run-mongodb-test #:optional (port 27017)) - "Run tests in %MONGODB-OS, forwarding PORT." - (define os - (marionette-operating-system - %mongodb-os - #:imported-modules '((gnu services herd) - (guix combinators)))) - - (define vm - (virtual-machine - (operating-system os) - (memory-size 1024) - (disk-image-size (* 1024 (expt 2 20))) - (port-forwardings `((27017 . ,port))))) - - (define test - (with-imported-modules '((gnu build marionette)) - #~(begin - (use-modules (srfi srfi-11) (srfi srfi-64) - (gnu build marionette) - (ice-9 popen) - (ice-9 rdelim)) - - (define marionette - (make-marionette (list #$vm))) - - (mkdir #$output) - (chdir #$output) - - (test-begin "mongodb") - - (test-assert "service running" - (marionette-eval - '(begin - (use-modules (gnu services herd)) - (match (start-service 'mongodb) - (#f #f) - (('service response-parts ...) - (match (assq-ref response-parts 'running) - ((pid) (number? pid)))))) - marionette)) - - (test-eq "test insert" - 0 - (system* (string-append #$mongodb "/bin/mongo") - "test" - "--eval" - "db.testCollection.insert({data: 'test-data'})")) - - (test-equal "test find" - "test-data" - (let* ((port (open-pipe* - OPEN_READ - (string-append #$mongodb "/bin/mongo") - "test" - "--quiet" - "--eval" - "db.testCollection.findOne().data")) - (output (read-line port)) - (status (close-pipe port))) - output)) - - (test-end) - (exit (= (test-runner-fail-count (test-runner-current)) 0))))) - - (gexp->derivation "mongodb-test" test)) - -(define %test-mongodb - (system-test - (name "mongodb") - (description "Connect to a running MONGODB server.") - (value (run-mongodb-test)))) - ;;; ;;; The PostgreSQL service. From fcf8c6c5652cac87647d87e87dede3a7b154716b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 16 Mar 2021 11:03:58 +0100 Subject: [PATCH 0707/1003] gnu: hisat2: Update to 2.2.1. * gnu/packages/bioinformatics.scm (hisat2): Update to 2.2.1. [source]: Fetch from git repository on Github. [arguments]: Add phase to build manual; remove trailing #t from other phases. [native-inputs]: Remove unzip. [home-page]: Update. [inputs]: Add python-wrapper. --- gnu/packages/bioinformatics.scm | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index d9afe2c56f..90e81354a5 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3819,15 +3819,17 @@ particular, reads spanning multiple exons.") (define-public hisat2 (package (name "hisat2") - (version "2.0.5") + (version "2.2.1") (source (origin - (method url-fetch) - (uri (string-append "ftp://ftp.ccb.jhu.edu/pub/infphilo/hisat2" - "/downloads/hisat2-" version "-source.zip")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/DaehwanKimLab/hisat2/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0lywnr8kijwsc2aw10dwxic0n0yvip6fl3rjlvc8zzwahamy4x7g")))) + "0lmzdhzjkvxw7n5w40pbv5fgzd4cz0f9pxczswn3d4cr0k10k754")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target @@ -3840,9 +3842,12 @@ particular, reads spanning multiple exons.") (add-after 'unpack 'make-deterministic (lambda _ (substitute* "Makefile" - (("`date`") "0")) - #t)) + (("`date`") "0")))) (delete 'configure) + (add-before 'build 'build-manual + (lambda _ + (mkdir-p "doc") + (invoke "make" "doc"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -3853,13 +3858,13 @@ particular, reads spanning multiple exons.") (find-files "." "hisat2(-(build|align|inspect)(-(s|l)(-debug)*)*)*$")) (mkdir-p doc) - (install-file "doc/manual.inc.html" doc)) - #t))))) + (install-file "doc/manual.inc.html" doc))))))) (native-inputs - `(("unzip" ,unzip) ; needed for archive from ftp - ("perl" ,perl) + `(("perl" ,perl) ("pandoc" ,pandoc))) ; for documentation - (home-page "https://ccb.jhu.edu/software/hisat2/index.shtml") + (inputs + `(("python" ,python-wrapper))) + (home-page "https://daehwankimlab.github.io/hisat2/") (synopsis "Graph-based alignment of genomic sequencing reads") (description "HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads (both DNA and RNA) to a population of human From 9bab0950f761a4e628fd8804e3b263751456c524 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 15 Mar 2021 22:48:35 -0400 Subject: [PATCH 0708/1003] gnu: libmemcached: Disable test suite. * gnu/packages/databases.scm (libmemcached): Disable test suite. Removing trailing #t. [phases]{fix-configure}: Remove useless group in pattern. {disable-failing-tests}: Remove phase. {build-and-install-html-doc}: Order after the build phase. [home-page]: Please 'guix lint'. Reported-by: Simon Tournier --- gnu/packages/databases.scm | 31 ++++++++----------------------- 1 file changed, 8 insertions(+), 23 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 5249aa0d10..8be83f5cbe 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -32,7 +32,7 @@ ;;; Copyright © 2017 Kristofer Buffington ;;; Copyright © 2018 Amirouche Boubekki ;;; Copyright © 2018 Joshua Sierles, Nextjournal -;;; Copyright © 2018 Maxim Cournoyer +;;; Copyright © 2018, 2021 Maxim Cournoyer ;;; Copyright © 2019 Jack Hill ;;; Copyright © 2019 Alex Griffin ;;; Copyright © 2019 Gábor Boskovits @@ -526,7 +526,8 @@ applications.") ("cyrus-sasl" ,cyrus-sasl))) (outputs '("out" "doc")) (arguments - '(#:phases + '(#:tests? #f ;many tests fail and use too much time + #:phases (modify-phases %standard-phases (add-before 'bootstrap 'fix-configure.ac ;; Move the AC_CONFIG_AUX_DIR macro use under AC_INIT, otherwise we @@ -538,24 +539,9 @@ applications.") (delete-file "bootstrap.sh") ;not useful in the context of Guix (substitute* "configure.ac" (("^AC_CONFIG_AUX_DIR\\(\\[build-aux\\]\\).*") "") - (("(^AC_INIT.*)" anchor) - (string-append anchor "AC_CONFIG_AUX_DIR([build-aux])\n"))) - #t)) - (add-before 'bootstrap 'disable-failing-tests - ;; See: https://bugs.launchpad.net/libmemcached/+bug/1803926 - (lambda _ - ;; Mark some heavily failing test suites as expected to fail. - (substitute* "Makefile.am" - (("(XFAIL_TESTS =[^\n]*)" xfail_tests) - (string-append xfail_tests " tests/testudp" - " tests/libmemcached-1.0/testapp" - " tests/libmemcached-1.0/testsocket"))) - ;; Disable two tests of the unittest test suite. - (substitute* "libtest/unittest.cc" - ((".*echo_fubar_BINARY \\},.*") "") - ((".*application_doesnotexist_BINARY \\},.*") "")) - #t)) - (add-after 'disable-dns-tests 'build-and-install-html-doc + (("^AC_INIT.*" anchor) + (string-append anchor "AC_CONFIG_AUX_DIR([build-aux])\n"))))) + (add-before 'build 'build-and-install-html-doc (lambda* (#:key outputs #:allow-other-keys) (let ((html (string-append (assoc-ref outputs "doc") "/share/doc/libmemcached/html/"))) @@ -563,9 +549,8 @@ applications.") ;; Cleanup useless files. (for-each delete-file-recursively (map (lambda (x) (string-append html x)) - '("_sources" ".doctrees" ".buildinfo")))) - #t))))) - (home-page "https://libmemcached.org/") + '("_sources" ".doctrees" ".buildinfo"))))))))) + (home-page "https://libmemcached.org/libMemcached.html") (synopsis "C++ library for memcached") (description "libMemcached is a library to use memcached in C/C++ applications. It comes with a complete reference guide and documentation of From 451f23df5e7a1798f85d58d1720387677444761a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 9 Mar 2021 10:06:13 +0200 Subject: [PATCH 0709/1003] gnu: b4: Fix setup.py version incompatibility. * gnu/packages/version-control.scm (b4)[source]: Add snippet to not require too specific of a version. Reported-by: Kyle Meyer --- gnu/packages/version-control.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index ecb2ec7c6a..46dba5db61 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2014, 2016, 2019 Eric Bavier ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner -;;; Copyright © 2015, 2018, 2020 Kyle Meyer +;;; Copyright © 2015, 2018, 2020, 2021 Kyle Meyer ;;; Copyright © 2015, 2017, 2018, 2020 Ricardo Wurmus ;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2016, 2017, 2018 Nikita @@ -2347,7 +2347,15 @@ based on a manifest file published by servers.") (method url-fetch) (uri (pypi-uri "b4" version)) (sha256 - (base32 "1j904dy9cwxl85k2ngc498q5cdnqwsmw3jibjr1m55w8aqdck68z")))) + (base32 "1j904dy9cwxl85k2ngc498q5cdnqwsmw3jibjr1m55w8aqdck68z")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Fixes issue with dependency requirements being too strict. See upstream commit: + ;; https://git.kernel.org/pub/scm/utils/b4/b4.git/commit/?id=31348a14afdb1d39e7faf9576eaddea1ced76e19 + (substitute* "setup.py" + (("~=") ">=")) + #t)))) (build-system python-build-system) (arguments '(#:tests? #f)) ; No tests. (inputs From 335af327cd4f8e47e53fec0f1cd92174d418e32a Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Tue, 16 Mar 2021 14:06:40 +0100 Subject: [PATCH 0710/1003] gnu: asymptote: Update to 2.70. * gnu/packages/plotutils.scm (asymptote): Update to 2.70. --- gnu/packages/plotutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index 4e044fab75..7f59bae770 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -206,14 +206,14 @@ colors, styles, options and details.") (define-public asymptote (package (name "asymptote") - (version "2.69") + (version "2.70") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/asymptote/" version "/asymptote-" version ".src.tgz")) (sha256 - (base32 "17gp9n0cgwlbsy16jya07cjw18drbg2gqhdghlvmkybpfh3mcr26")))) + (base32 "0gqcm0m916kjzyfswlplhyyvmqhg9hsishmbg4pyjcwchlx93k7m")))) (build-system gnu-build-system) ;; Note: The 'asy' binary retains a reference to docdir for use with its ;; "help" command in interactive mode, so adding a "doc" output is not From c954f795f90502188a572d98108b82efa7fb1e3c Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Tue, 16 Mar 2021 14:09:06 +0100 Subject: [PATCH 0711/1003] gnu: python-pikepdf: Update to 2.9.0. * gnu/packages/python-xyz.scm (python-pikepdf): Update to 2.9.0. --- gnu/packages/python-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 2098f00d85..cbbd424f9e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -5858,13 +5858,13 @@ the OleFileIO module from PIL, the Python Image Library.") (define-public python-pikepdf (package (name "python-pikepdf") - (version "2.8.0.post2") + (version "2.9.0") (source (origin (method url-fetch) (uri (pypi-uri "pikepdf" version)) (sha256 - (base32 "0ya9bir41bz61y2njlcr5ni8l6cjsy0h5vg9ayxhw7dzgcibj0yp")))) + (base32 "1dx84gvxf8js5988b20dwpg0xd7by2bczjlrdh3cpppwaaxx5nx9")))) (build-system python-build-system) (arguments `(#:tests? #false)) ;require python-xmp-toolkit From 2724f1b23141fdc66b09ec5a3adbccccbc53b459 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Tue, 16 Mar 2021 14:10:17 +0100 Subject: [PATCH 0712/1003] gnu: emacs-leaf: Update to 4.4.0. * gnu/packages/emacs-xyz.scm (emacs-leaf): Update to 4.4.0. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index dabac3c287..3496c699a8 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -12118,14 +12118,14 @@ performance-oriented and tidy.") (define-public emacs-leaf (package (name "emacs-leaf") - (version "4.3.2") + (version "4.4.0") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "leaf-" version ".tar")) (sha256 - (base32 "190sfnnii9jnj8amjkdabd8w9k2xyalhg4h488a5gzjxdzz2s6zi")))) + (base32 "0wgf3ksrk6b77fvy3sr9hqazq0snbvqyrrql6v1hryqjfq5nwfx7")))) (build-system emacs-build-system) (home-page "https://github.com/conao3/leaf.el") (synopsis "Simplify your init.el configuration, extended use-package") From 55ef497479745be85c1f0bf370c1c974fe7f2a34 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Tue, 16 Mar 2021 14:11:14 +0100 Subject: [PATCH 0713/1003] gnu: emacs-easy-kill: Update to 0.9.4. * gnu/packages/emacs-xyz.scm (emacs-easy-kill): Update to 0.9.4. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 3496c699a8..bedfd61fc7 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -14255,14 +14255,14 @@ and shell-command prompts that are based on Bash completion.") (define-public emacs-easy-kill (package (name "emacs-easy-kill") - (version "0.9.3") + (version "0.9.4") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/easy-kill-" version ".tar")) (sha256 (base32 - "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb")))) + "1pqqv4dhfm00wqch4wy3n2illsvxlz9r6r64925cvq3i7wq4la1x")))) (build-system emacs-build-system) (home-page "https://github.com/leoliu/easy-kill") (synopsis "Kill and mark things easily in Emacs") From c9006a0ee107208c27769e4e4eb042ead0c2a62f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 16 Mar 2021 14:16:44 +0100 Subject: [PATCH 0714/1003] gnu: Add python-amply. * gnu/packages/python-xyz.scm (python-amply): New variable. --- gnu/packages/python-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index cbbd424f9e..3e33debe10 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -7983,6 +7983,30 @@ of the structure, dynamics, and functions of complex networks.") Python.") (license license:lgpl2.1+))) +(define-public python-amply + (package + (name "python-amply") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "amply" version)) + (sha256 + (base32 + "0f1db9zp0rsfzxvaz55xwh8h5rfdgr9a2a715g06ic8nknsdq4nb")))) + (build-system python-build-system) + (propagated-inputs + `(("python-docutils" ,python-docutils) + ("python-pyparsing" ,python-pyparsing))) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm))) + (home-page "https://github.com/willu47/amply") + (synopsis "Load and manipulate AMPL/GLPK data as Python data structures") + (description + "Amply allows you to load and manipulate AMPL/GLPK data as Python data +structures.") + (license license:epl1.0))) + (define-public snakemake (package (name "snakemake") From fa0a18522d5c382f82a391e2eca3c1ca48b60834 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 16 Mar 2021 14:16:57 +0100 Subject: [PATCH 0715/1003] gnu: Add python-pulp. * gnu/packages/python-xyz.scm (python-pulp): New variable. --- gnu/packages/python-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 3e33debe10..ca00a8dc97 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -8007,6 +8007,28 @@ Python.") structures.") (license license:epl1.0))) +(define-public python-pulp + (package + (name "python-pulp") + (version "2.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "PuLP" version)) + (sha256 + (base32 + "1dammrg0f1v0r028i3rpxbf2bsyxmjq0q6ihb4x2wsdki44z3bxj")))) + (build-system python-build-system) + (propagated-inputs + `(("python-amply" ,python-amply))) + (home-page "https://github.com/coin-or/pulp") + (synopsis "Linear Programming modeler") + (description + "PuLP is a Linear Programming modeler written in Python. PuLP can +generate MPS or LP files and call GLPK, COIN CLP/CBC, CPLEX, and GUROBI to +solve linear problems.") + (license license:expat))) + (define-public snakemake (package (name "snakemake") From 08447ab7cdb4031d7e41870176e375911f4a0917 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 16 Mar 2021 14:17:07 +0100 Subject: [PATCH 0716/1003] gnu: Add python-toposort. * gnu/packages/python-xyz.scm (python-toposort): New variable. --- gnu/packages/python-xyz.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index ca00a8dc97..0c865dff33 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -8029,6 +8029,25 @@ generate MPS or LP files and call GLPK, COIN CLP/CBC, CPLEX, and GUROBI to solve linear problems.") (license license:expat))) +(define-public python-toposort + (package + (name "python-toposort") + (version "1.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "toposort" version)) + (sha256 + (base32 + "1b2hppzjg3p006qya3yfdnp76dwq8frl97lypdam0kw4xxb8yhm7")))) + (build-system python-build-system) + (home-page "https://gitlab.com/ericvsmith/toposort") + (synopsis "Topological sort algorithm") + (description + "This package provides an implementation of a topological sort +algorithm.") + (license license:asl2.0))) + (define-public snakemake (package (name "snakemake") From 4f02c4c4a9ffa51049d72bc422c6eda8b507c04d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 16 Mar 2021 14:17:13 +0100 Subject: [PATCH 0717/1003] gnu: snakemake: Add missing inputs. * gnu/packages/python-xyz.scm (snakemake)[propagated-inputs]: Add python-nbformat, python-pulp, and python-toposort. --- gnu/packages/python-xyz.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 0c865dff33..b98b0666cf 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -8082,11 +8082,14 @@ algorithm.") ("python-gitpython" ,python-gitpython) ("python-jinja2" ,python-jinja2) ("python-jsonschema" ,python-jsonschema) + ("python-nbformat" ,python-nbformat) ("python-networkx" ,python-networkx) ("python-psutil" ,python-psutil) + ("python-pulp" ,python-pulp) ("python-pyyaml" ,python-pyyaml) ("python-ratelimiter" ,python-ratelimiter) ("python-requests" ,python-requests) + ("python-toposort" ,python-toposort) ("python-wrapt" ,python-wrapt))) (home-page "https://snakemake.readthedocs.io") (synopsis "Python-based execution environment for make-like workflows") From 09b5cdf80dbbc7166deb2318f1aca266fda6ad26 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 16 Mar 2021 15:26:33 +0200 Subject: [PATCH 0718/1003] gnu: tor: Update to 0.4.5.7 [security fixes]. * gnu/packages/tor.scm (tor): Update to 0.4.5.7. --- gnu/packages/tor.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 86ae5d0ea4..d85c11aec0 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2014, 2015 Mark H Weaver -;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner +;;; Copyright © 2016, 2017, 2018, 2020, 2021 Efraim Flashner ;;; Copyright © 2016, 2017 Nikita ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice ;;; Copyright © 2017, 2018, 2019, 2021 Eric Bavier @@ -54,14 +54,14 @@ (define-public tor (package (name "tor") - (version "0.4.5.6") + (version "0.4.5.7") (source (origin (method url-fetch) (uri (string-append "https://dist.torproject.org/tor-" version ".tar.gz")) (sha256 (base32 - "0cz78pjw2bc3kl3ziip1nhhbq89crv315rf1my3zmmgd9xws7jr2")))) + "0x7hhl0svfc4yh9xvq7kkzgmwjcw1ak9i0794wjg4biy2fmclzs4")))) (build-system gnu-build-system) (arguments `(#:configure-flags From 9ed2a26d047799a36803e3e69ec9612e8301840c Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Tue, 16 Mar 2021 14:21:53 +0100 Subject: [PATCH 0719/1003] =?UTF-8?q?news:=20Add=20=E2=80=98de=E2=80=99=20?= =?UTF-8?q?translation.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- etc/news.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/etc/news.scm b/etc/news.scm index e2e7897e8a..c740acc2fe 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -22,14 +22,22 @@ (entry (commit "77c2f4e2068ebec3f384c826c5a99785125ff72c") (title - (en "@code{qemu-binfmt-service-type} is usable for any container")) + (en "@code{qemu-binfmt-service-type} is usable for any container") + (de "@code{qemu-binfmt-service-type} funktioniert mit jedem Container")) (body (en "The service now makes use of the statically built QEMU binaries along with the fix binary (F) @code{binfmt_misc} flag, which allows the kernel to fully pre-load it in memory. QEMU can thus now be used with any container without extra configuration. The @code{guix-support?} field of the @code{qemu-binfmt-configuration} record is removed, as it is no longer -necessary."))) +necessary.") + (de "Der Dienst benutzt jetzt statisch gebundene QEMU-Binärdateien +zusammen mit der Fix-Binary-Flag (F) von @code{binfmt_misc}. Dadurch kann der +Kernel die QEMU-Binärdatei als Ganzes vorab in den Speicher laden. Dann kann +sie auch ohne weitere Konfiguration in jeder Art von isolierter Umgebung +benutzt werden. Darum wurde das Feld @code{guix-support?} des +@code{qemu-binfmt-configuration}-Verbundsobjekts entfernt; es wird nicht mehr +gebraucht."))) (entry (commit "02e2e093e858e8a0ca7bd66c1f1f6fd0a1705edb") (title From 82a9538ea01596a57bf642d729500f15bcd17f84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Tue, 16 Mar 2021 18:41:34 +0100 Subject: [PATCH 0720/1003] gnu: varnish-modules: Update to 0.17.1 [fixes CVE-2021-28543]. * gnu/packages/web.scm (varnish-modules): Update to 0.17.1. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 4a14046d42..643de6ad6a 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -5938,14 +5938,14 @@ configuration language.") (package (name "varnish-modules") (home-page "https://github.com/varnish/varnish-modules") - (version "0.17.0") + (version "0.17.1") (source (origin (method git-fetch) (uri (git-reference (url home-page) (commit version))) (file-name (git-file-name name version)) (sha256 (base32 - "0zg8y2sgkygdani70zp9rbx278431fmssj26d47c5qsiw939i519")))) + "1mzkad9r4rpm1fi7j7skwrsyzzbwcapfnlvvl1ls3rng2djcqb5j")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) From 109f58444beecd1b9b7c502f2a687a6b91c62dc0 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 16 Mar 2021 12:03:12 -0400 Subject: [PATCH 0721/1003] gnu: mpg321: Fix CVE-2019-14247. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/mpg321-CVE-2019-14247.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/mp3.scm (mpg321)[source]: Apply it. Signed-off-by: Léo Le Bouter Signed-off-by: Leo Famulari --- gnu/local.mk | 1 + gnu/packages/mp3.scm | 4 +++- .../patches/mpg321-CVE-2019-14247.patch | 23 +++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/mpg321-CVE-2019-14247.patch diff --git a/gnu/local.mk b/gnu/local.mk index cf8849cf59..abb1e2140d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1404,6 +1404,7 @@ dist_patch_DATA = \ %D%/packages/patches/mit-krb5-hurd.patch \ %D%/packages/patches/mit-krb5-qualify-short-hostnames.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \ + %D%/packages/patches/mpg321-CVE-2019-14247.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ %D%/packages/patches/monero-use-system-miniupnpc.patch \ %D%/packages/patches/mono-mdoc-timestamping.patch \ diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 34390d3696..dba3e17558 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -408,7 +408,9 @@ command-line tool as well as a C library, libmpg123.") version "/mpg321-" version ".tar.gz")) (sha256 (base32 - "0ki8mh76bbmdh77qsiw682dvi8y468yhbdabqwg05igmwc1wqvq5")))) + "0ki8mh76bbmdh77qsiw682dvi8y468yhbdabqwg05igmwc1wqvq5")) + (patches + (search-patches "mpg321-CVE-2019-14247.patch")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-alsa"))) (inputs diff --git a/gnu/packages/patches/mpg321-CVE-2019-14247.patch b/gnu/packages/patches/mpg321-CVE-2019-14247.patch new file mode 100644 index 0000000000..03afaccc67 --- /dev/null +++ b/gnu/packages/patches/mpg321-CVE-2019-14247.patch @@ -0,0 +1,23 @@ +This patch was downloaded from https://sourceforge.net/p/mpg321/bugs/51/ and +fixes CVE-2019-14247. + +Description: Handle illegal bitrate value +Author: Chrysostomos Nanakos +Bug-Debian: https://bugs.debian.org/870406 +Bug-Debian: https://bugs.debian.org/887057 + +--- mpg321-0.3.2.orig/mad.c ++++ mpg321-0.3.2/mad.c +@@ -574,6 +574,12 @@ void scan(void const *ptr, ssize_t len, + + if (!is_vbr) + { ++ if (header.bitrate <= 0) ++ { ++ fprintf(stderr, "Illegal bit allocation value\n"); ++ return; ++ } ++ + double time = (len * 8.0) / (header.bitrate); /* time in seconds */ + double timefrac = (double)time - ((long)(time)); + long nsamples = 32 * MAD_NSBSAMPLES(&header); /* samples per frame */ From f4259f93ea6ecb5fa0e2e27697708499af18233f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 16 Mar 2021 14:19:43 -0400 Subject: [PATCH 0722/1003] gnu: Add meson-next. * gnu/packages/build-tools.scm (meson-next): New variable. --- gnu/packages/build-tools.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index ae3debd87f..3e453cca82 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2020 Efraim Flashner ;;; Copyright © 2021 qblade +;;; Copyright © 2021 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -313,6 +314,19 @@ resembles Python.") (base32 "1070kjiirxxdfppmrhi3wsc6rykay1zlciqrzayjhjg0hkw42mrv")))))) +(define-public meson-next + (package + (inherit meson) + (version "0.57.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mesonbuild/meson/" + "releases/download/" version "/meson-" + version ".tar.gz")) + (sha256 + (base32 + "19n8alcpzv6npgp27iqljkmvdmr7s2c7zm8y997j1nlvpa1cgqbj")))))) + (define-public meson-for-build (package (inherit meson) From 15423d38c57d04bc1bbc70c7bd79eaf8cf82d513 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 16 Mar 2021 14:20:39 -0400 Subject: [PATCH 0723/1003] gnu: qemu: Enable reproducible builds. Fixes . The solution was suggested by bonzini on OFTC's #qemu channel. * gnu/packages/virtualization.scm (qemu)[snippet]: Delete bundled meson copy. [native-inputs]: Add meson-next. --- gnu/packages/virtualization.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 0558861173..fabac5b984 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -43,6 +43,7 @@ #:use-module (gnu packages backup) #:use-module (gnu packages base) #:use-module (gnu packages bison) + #:use-module (gnu packages build-tools) #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) @@ -162,7 +163,9 @@ "{ MK_STRUCT(STRUCT_ifmap_ifreq) };\n")) (("^([[:blank:]]*)target_ifreq_size[[:blank:]]=.*$" _ indent) (string-append indent "target_ifreq_size = " - "thunk_type_size(ifreq_max_type, 0);"))))))) + "thunk_type_size(ifreq_max_type, 0);"))) + ;; Delete the bundled meson copy. + (delete-file-recursively "meson"))))) (outputs '("out" "static" "doc")) ;5.3 MiB of HTML docs (build-system gnu-build-system) (arguments @@ -351,6 +354,8 @@ exec smbd $@"))) ("perl" ,perl) ("flex" ,flex) ("bison" ,bison) + ;; Using meson 0.57.1 enables reproducible QEMU builds. + ("meson" ,meson-next) ("ninja" ,ninja) ("pkg-config" ,pkg-config) ("python-wrapper" ,python-wrapper) From c3fe23d0de5d6095ef67fe513823e1aad256dd73 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 16 Mar 2021 19:53:49 -0400 Subject: [PATCH 0724/1003] gnu: gnome-shell: Add 'lint-hidden-cve' property. * gnu/packages/gnome.scm (gnome-shell)[properties]: New field, marking CVE-2019-3820 as fixed. --- gnu/packages/gnome.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index db7941bb98..a3c3c75024 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8593,6 +8593,9 @@ properties, screen resolution, and other GNOME parameters.") ;; Missing propagation? See also: ("librsvg" ,librsvg) ("geoclue" ,geoclue))) + ;; CVE-2019-3820 was fixed before GNOME 3.34 was released, in upstream + ;; commit f0a7395b3006360905ccdc642982f9fc67378927. + (properties '((lint-hidden-cve . ("CVE-2019-3820")))) (synopsis "Desktop shell for GNOME") (home-page "https://wiki.gnome.org/Projects/GnomeShell") (description From d9f501b61997e1dd4bfa01db3d6e6a502e43adba Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 16 Mar 2021 19:57:21 -0400 Subject: [PATCH 0725/1003] gnu: gvfs: Add 'lint-hidden-cve' property. * gnu/packages/gnome.scm (gvfs)[properties]: New field, marking CVE-2019-12447, CVE-2019-12448, and CVE-2019-12449 as fixed. --- gnu/packages/gnome.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index a3c3c75024..c5223e7b3f 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6515,6 +6515,10 @@ part of udev-extras, then udev, then systemd. It's now a project on its own.") ("openssh" ,openssh) ("polkit" ,polkit) ("udisks" ,udisks))) + ;; CVE-2019-{12447,12448,12449} are fixed in the 1.40.2 release. + (properties '((lint-hidden-cve . ("CVE-2019-12447" + "CVE-2019-12448" + "CVE-2019-12449")))) (home-page "https://wiki.gnome.org/gvfs/") (synopsis "Userspace virtual file system for GIO") (description From 1a265842e634656411bc7304c4648273f174f65e Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 17 Mar 2021 03:42:12 -0400 Subject: [PATCH 0726/1003] gnu: Use PACKAGE/INHERIT in more places. * gnu/packages/algebra.scm (fftwf, fftw-openmpi), gnu/packages/audio.scm (ztoolkit-rsvg), gnu/packages/bioinformatics.scm (python2-dendropy), gnu/packages/boost.scm (boost-with-python2), gnu/packages/check.scm (python2-mock, python2-pytest-mock), gnu/packages/cups.scm (hplip-minimal), gnu/packages/freedesktop.scm (libinput-minimal), gnu/packages/gettext.scm (gnu-gettext), gnu/packages/glib.scm (python2-pygobject), gnu/packages/gnome.scm (gdl-minimal, libsoup-minimal, python2-pyatspi), gnu/packages/groff.scm (groff-minimal), gnu/packages/jami.scm (ffmpeg-jami), gnu/packages/libcanberra.scm (libcanberra/gtk+-2), gnu/packages/lirc.scm (python2-lirc), gnu/packages/llvm.scm (clang-runtime-3.5), gnu/packages/mpi.scm (java-openmpi, openmpi-thread-multiple), gnu/packages/node.scm (libnode), gnu/packages/onc-rpc.scm (libtirpc/hurd), gnu/packages/python-compression.scm (bitshuffle-for-snappy), gnu/packages/python-crypto.scm (python2-pycrypto, python2-cryptography) (python2-cryptography, python2-m2crypto), gnu/packages/python-web.scm (python2-html2text, python2-tornado) (python2-terminado, python2-ndg-httpsclient, python2-websocket-client) (python2-rauth, python2-url, python2-s3transfer), gnu/packages/python-xyz.scm (python2-psutil, python2-serpent) (python2-humanfriendly, python2-empy, python2-parse-type, python2-polib) (python2-jsonschema, python2-pystache, python2-cython, python2-numpydoc) (python2-ipyparallel, python2-traitlets, python2-dbus) (python2-beautifulsoup4, python2-pep517, python2-flake8, python2-llfuse) (python2-tlsh, python-file, python2-notebook, python-jupyter-console-minimal) (python2-contextlib2, python2-promise, python2-anyjson, python2-amqp) (python2-kombu, python2-billiard, python2-celery, python2-whoosh) (python2-jellyfish, python-rope, ptpython-2, python2-binaryornot) (python2-setproctitle, python2-argcomplete, python2-xopen, python2-isort) (python2-radon, python2-rfc6555, python2-activepapers, python2-send2trash) (python2-cloudpickle, python2-reparser), gnu/packages/python.scm (python2-called-python), gnu/packages/qt.scm (python2-sip, python-pyqt-without-qtwebkit, python2-pyqt) (python-qscintilla, python-pyqt+qscintilla), gnu/packages/scanner.scm (sane-backends), gnu/packages/sdl.scm (guile3.0-sdl2), gnu/packages/selinux.scm (checkpolicy, libselinux, libsemanage, secilc) (python-sepolgen, policycoreutils), gnu/packages/serialization.scm (lua5.1-libmpack, lua5.2-libmpack), gnu/packages/simulation.scm (fenics), gnu/packages/statistics.scm (python2-statsmodels), gnu/packages/texinfo.scm (info-reader), gnu/packages/wxwidgets.scm (wxwidgets-gtk2, wxwidgets-gtk2-3.1), gnu/packages/xml.scm (xmlsec-nss), gnu/packages/xorg.scm (uim-gtk, uim-qt), guix/build-system/python.scm (package-with-explicit-python) (strip-python2-variant): Use PACKAGE/INHERIT. --- gnu/packages/algebra.scm | 4 +- gnu/packages/audio.scm | 3 +- gnu/packages/bioinformatics.scm | 3 +- gnu/packages/boost.scm | 3 +- gnu/packages/check.scm | 4 +- gnu/packages/cups.scm | 3 +- gnu/packages/freedesktop.scm | 2 +- gnu/packages/gettext.scm | 3 +- gnu/packages/glib.scm | 51 ++++----- gnu/packages/gnome.scm | 9 +- gnu/packages/groff.scm | 3 +- gnu/packages/jami.scm | 3 +- gnu/packages/libcanberra.scm | 2 +- gnu/packages/lirc.scm | 3 +- gnu/packages/llvm.scm | 3 +- gnu/packages/mpi.scm | 5 +- gnu/packages/node.scm | 3 +- gnu/packages/onc-rpc.scm | 8 +- gnu/packages/python-compression.scm | 3 +- gnu/packages/python-crypto.scm | 6 +- gnu/packages/python-web.scm | 20 ++-- gnu/packages/python-xyz.scm | 162 ++++++++++++---------------- gnu/packages/python.scm | 3 +- gnu/packages/qt.scm | 10 +- gnu/packages/scanner.scm | 3 +- gnu/packages/sdl.scm | 3 +- gnu/packages/selinux.scm | 12 +-- gnu/packages/serialization.scm | 4 +- gnu/packages/simulation.scm | 2 +- gnu/packages/statistics.scm | 2 +- gnu/packages/texinfo.scm | 3 +- gnu/packages/wxwidgets.scm | 4 +- gnu/packages/xml.scm | 3 +- gnu/packages/xorg.scm | 6 +- guix/build-system/python.scm | 6 +- 35 files changed, 158 insertions(+), 209 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index d2caa13d0e..129d922751 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -794,7 +794,7 @@ cosine/ sine transforms or DCT/DST).") (license license:gpl2+))) (define-public fftwf - (package (inherit fftw) + (package/inherit fftw (name "fftwf") (arguments (substitute-keyword-arguments (package-arguments fftw) @@ -812,7 +812,7 @@ cosine/ sine transforms or DCT/DST).") " Single-precision version.")))) (define-public fftw-openmpi - (package (inherit fftw) + (package/inherit fftw (name "fftw-openmpi") (inputs `(("openmpi" ,openmpi) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 67a3e57dd9..8b23f04fe5 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -4918,8 +4918,7 @@ edited, converted, compressed and saved.") (license license:lgpl2.1))) (define-public ztoolkit-rsvg - (package - (inherit ztoolkit) + (package/inherit ztoolkit (name "ztoolkit-rsvg") (arguments `(#:configure-flags `("-Denable_rsvg=true"))) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 90e81354a5..eb466868d1 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -2744,8 +2744,7 @@ trees (phylogenies) and characters.") (define-public python2-dendropy (let ((base (package-with-python2 python-dendropy))) - (package - (inherit base) + (package/inherit base (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index b1ab8a4ec9..1323e28278 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -200,8 +200,7 @@ across a broad spectrum of applications.") "Some components have other similar licences.")))) (define-public boost-with-python2 - (package - (inherit boost) + (package/inherit boost (name "boost-python2") (native-inputs `(("python" ,python-2) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index cfda247d67..21514d1bc4 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -836,7 +836,7 @@ have been used.") (define-public python2-mock (let ((base (package-with-python2 (strip-python2-variant python-mock)))) - (package (inherit base) + (package/inherit base (propagated-inputs `(("python2-functools32" ,python2-functools32) ("python2-funcsigs" ,python2-funcsigs) @@ -1240,7 +1240,7 @@ same arguments.") (define-public python2-pytest-mock (let ((base (package-with-python2 (strip-python2-variant python-pytest-mock)))) - (package (inherit base) + (package/inherit base (propagated-inputs `(("python2-mock" ,python2-mock) ,@(package-propagated-inputs base)))))) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 2edd5d245c..b18273109e 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -676,8 +676,7 @@ should only be used as part of the Guix cups-pk-helper service.") ("pkg-config" ,pkg-config))))) (define-public hplip-minimal - (package - (inherit hplip) + (package/inherit hplip (name "hplip-minimal") (arguments (substitute-keyword-arguments (package-arguments hplip) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index e5f9ea71b6..4105dd7ca0 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -508,7 +508,7 @@ other applications that need to directly deal with input devices.") (license license:x11))) (define-public libinput-minimal - (package (inherit libinput) + (package/inherit libinput (name "libinput-minimal") (inputs (fold alist-delete (package-inputs libinput) diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index bee33f2685..21228694d7 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -139,8 +139,7 @@ translated messages from the catalogs. Nearly all GNU packages use Gettext.") ;; module when there's a #:renamer, and that module may be empty at that point ;; in case or circular dependencies. (define-public gnu-gettext - (package - (inherit gettext-minimal) + (package/inherit gettext-minimal (name "gettext") (arguments (substitute-keyword-arguments (package-arguments gettext-minimal) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 1b9cd71785..5f710a4a38 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -833,32 +833,33 @@ useful for C++.") (properties `((python2-variant . ,(delay python2-pygobject)))))) (define-public python2-pygobject - (package (inherit (strip-python2-variant python-pygobject)) - (name "python2-pygobject") + (let ((base (strip-python2-variant python-pygobject))) + (package/inherit base + (name "python2-pygobject") - ;; Note: We use python-build-system here, because Meson only supports - ;; Python 3, and needs PYTHONPATH etc set up correctly, which makes it - ;; difficult to use for Python 2 projects. - (build-system python-build-system) - (arguments - `(#:python ,python-2 - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'delete-broken-tests - (lambda _ - ;; FIXME: this test freezes and times out. - (delete-file "tests/test_mainloop.py") - ;; FIXME: this test fails with this kind of error: - ;; AssertionError: != != Date: Wed, 17 Mar 2021 10:58:29 +0100 Subject: [PATCH 0727/1003] gnu: pzstd: Update to 1.4.9 [fixes CVE-2021-24032]. * gnu/packages/compression.scm (pzstd): Use 'package/inherit' over zstd so any graft applied to zstd cascades onto pzstd which is built from the same source. --- gnu/packages/compression.scm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 827ad43dc2..2d065046ee 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1486,11 +1486,9 @@ speed.") ((#:tests? _ #t) #f))))) (define-public pzstd - (package + (package/inherit zstd (name "pzstd") - (version (package-version zstd)) - (source (package-source zstd)) - (build-system gnu-build-system) + (outputs '("out")) (inputs `(,@(if (%current-target-system) `(("googletest" ,googletest)) From f194fbf50eecc9f38045520db0d1a719175172ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 17 Mar 2021 11:39:01 +0100 Subject: [PATCH 0728/1003] gnu: gnome-autoar: Update to 0.3.1 [fixes CVE-2021-28650]. * gnu/packages/gnome.scm (gnome-autoar): Update to 0.3.1. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index e738b8fc1f..49412a87cc 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8654,7 +8654,7 @@ core C library, and bindings for Python (PyGTK).") (define-public gnome-autoar (package (name "gnome-autoar") - (version "0.3.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -8662,7 +8662,7 @@ core C library, and bindings for Python (PyGTK).") name "-" version ".tar.xz")) (sha256 (base32 - "0ssqckfkyldwld88zizy446y2359rg40lnrcm3sjpjhc2b015hgj")))) + "1y6hh5dldhdq7mpbmd571zl0yadfackvifhnxvykkqqddwz72y0f")))) (build-system glib-or-gtk-build-system) (native-inputs `(("gobject-introspection" ,gobject-introspection) From bc3896db25c788c181c7bcd65754e7cd378e9d9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 16 Mar 2021 22:34:57 +0100 Subject: [PATCH 0729/1003] daemon: Correctly handle '--discover' with no value. Previously, we'd get: $ guix-daemon --discover error: basic_string::_M_construct null not valid * nix/nix-daemon/guix-daemon.cc (parse_opt): Change second argument to 'settings.set' to properly handle case where ARG is NULL. --- nix/nix-daemon/guix-daemon.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nix/nix-daemon/guix-daemon.cc b/nix/nix-daemon/guix-daemon.cc index 30d0e5d11d..36a06a3fae 100644 --- a/nix/nix-daemon/guix-daemon.cc +++ b/nix/nix-daemon/guix-daemon.cc @@ -1,5 +1,5 @@ /* GNU Guix --- Functional package management for GNU - Copyright (C) 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès + Copyright (C) 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2021 Ludovic Courtès Copyright (C) 2006, 2010, 2012, 2014 Eelco Dolstra This file is part of GNU Guix. @@ -268,7 +268,7 @@ parse_opt (int key, char *arg, struct argp_state *state) break; case GUIX_OPT_DISCOVER: useDiscover = string_to_bool (arg); - settings.set("discover", arg); + settings.set ("discover", useDiscover ? "true" : "false"); break; case GUIX_OPT_DEBUG: verbosity = lvlDebug; From 0571aa7abf262f617add727ac03e3bf63d41ae6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 17 Mar 2021 10:35:27 +0100 Subject: [PATCH 0730/1003] doc: Define the term "profile". Fixes . Reported by Luis Felipe . * doc/guix.texi (Getting Started): Introduce the term "profile". (Invoking guix package): Likewise. --- doc/guix.texi | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 410670e639..7882937911 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2751,7 +2751,11 @@ you can go ahead and install it (run this command as a regular user, guix install emacs @end example -You've installed your first package, congrats! In the process, you've +@cindex profile +You've installed your first package, congrats! The package is now +visible in your default @dfn{profile}, @file{$HOME/.guix-profile}---a +profile is a directory containing installed packages. +In the process, you've probably noticed that Guix downloaded pre-built binaries; or, if you explicitly chose to @emph{not} use pre-built binaries, then probably Guix is still building software (@pxref{Substitutes}, for more info). @@ -3059,9 +3063,13 @@ retaining precise @dfn{provenance tracking} of the software. @cindex removing packages @cindex package installation @cindex package removal +@cindex profile The @command{guix package} command is the tool that allows users to install, upgrade, and remove packages, as well as rolling back to -previous configurations. It operates only on the user's own profile, +previous configurations. These operations work on a user +@dfn{profile}---a directory of installed packages. Each user has a +default profile in @file{$HOME/.guix-profile}. +The command operates only on the user's own profile, and works with normal user privileges (@pxref{Features}). Its syntax is: @@ -3386,6 +3394,7 @@ variable, even though, taken individually, neither @file{foo} nor @file{bar} would lead to that recommendation. +@cindex profile, choosing @item --profile=@var{profile} @itemx -p @var{profile} Use @var{profile} instead of the user's default profile. From 62a091368df3bab499142d06f5114a73915c71f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 17 Mar 2021 10:42:46 +0100 Subject: [PATCH 0731/1003] maint: Check whether Guile-zlib is recent enough. This is a followup to a04aef2430645357d7796969d4b6453478ff8a3f. * m4/guix.m4 (GUIX_CHECK_GUILE_ZLIB): New macro. * configure.ac: Use it when checking for Guile-zlib. --- configure.ac | 6 +++--- m4/guix.m4 | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index aa60471143..1598bfae94 100644 --- a/configure.ac +++ b/configure.ac @@ -151,9 +151,9 @@ if test "x$guix_cv_have_recent_guile_git" != "xyes"; then fi dnl Check for Guile-zlib. -GUILE_MODULE_AVAILABLE([have_guile_zlib], [(zlib)]) -if test "x$have_guile_zlib" != "xyes"; then - AC_MSG_ERROR([Guile-zlib is missing; please install it.]) +GUIX_CHECK_GUILE_ZLIB +if test "x$guix_cv_have_recent_guile_zlib" != "xyes"; then + AC_MSG_ERROR([A recent Guile-zlib could not be found; please install it.]) fi dnl Check for Guile-lzlib. diff --git a/m4/guix.m4 b/m4/guix.m4 index c1ce0876fa..90a106add8 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -226,6 +226,24 @@ AC_DEFUN([GUIX_CHECK_GUILE_GIT], [ fi]) ]) +dnl GUIX_CHECK_GUILE_ZLIB +dnl +dnl Check whether a recent-enough Guile-zlib is available. +AC_DEFUN([GUIX_CHECK_GUILE_ZLIB], [ + dnl Check whether we're using Guile-zlib 0.1.0 or later. + dnl 0.1.0 introduced the 'make-zlib-input-port' and related code. + AC_CACHE_CHECK([whether Guile-zlib is available and recent enough], + [guix_cv_have_recent_guile_zlib], + [GUILE_CHECK([retval], + [(use-modules (zlib)) + make-zlib-input-port]) + if test "$retval" = 0; then + guix_cv_have_recent_guile_zlib="yes" + else + guix_cv_have_recent_guile_zlib="no" + fi]) +]) + dnl GUIX_TEST_ROOT_DIRECTORY AC_DEFUN([GUIX_TEST_ROOT_DIRECTORY], [ AC_CACHE_CHECK([for unit test root directory], From 71f6acd28df098fa600861df49347a315ffc7bb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Mar 2021 12:39:34 +0100 Subject: [PATCH 0732/1003] gnu-maintenance: Use (htmlprag) for 'latest-html-release'. * guix/gnu-maintenance.scm (html->sxml): Remove. Autoload (htmlprag) instead. * doc/guix.texi (Requirements): Mention 'guix refresh' for the Guile-Lib dependency. --- doc/guix.texi | 3 ++- guix/gnu-maintenance.scm | 13 +------------ 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 7882937911..51cafbcf71 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -865,7 +865,8 @@ the @code{crate} importer (@pxref{Invoking guix import}). @item @uref{https://www.nongnu.org/guile-lib/doc/ref/htmlprag/, Guile-Lib} for -the @code{go} importer (@pxref{Invoking guix import}). +the @code{go} importer (@pxref{Invoking guix import}) and for some of +the ``updaters'' (@pxref{Invoking guix refresh}). @item When @url{http://www.bzip.org, libbz2} is available, diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index 9e393d18cd..febed57c3a 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -38,6 +38,7 @@ #:use-module (guix upstream) #:use-module (guix packages) #:autoload (zlib) (call-with-gzip-input-port) + #:autoload (htmlprag) (html->sxml) ;from Guile-Lib #:export (gnu-package-name gnu-package-mundane-name gnu-package-copyright-holder @@ -447,18 +448,6 @@ hosted on ftp.gnu.org, or not under that name (this is the case for ;;; Latest HTTP release. ;;; -(define (html->sxml port) - "Read HTML from PORT and return the corresponding SXML tree." - (let ((str (get-string-all port))) - (catch #t - (lambda () - ;; XXX: This is the poor developer's HTML-to-XML converter. It's good - ;; enough for directory listings at but if - ;; needed we could resort to (htmlprag) from Guile-Lib. - (call-with-input-string (string-replace-substring str "
    " "
    ") - xml->sxml)) - (const '(html))))) ;parse error - (define (html-links sxml) "Return the list of links found in SXML, the SXML tree of an HTML page." (let loop ((sxml sxml) From db69ebb9debda9e53ebb62f5113303cd9ff8dc14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Mar 2021 12:45:13 +0100 Subject: [PATCH 0733/1003] gnu-maintenance: 'latest-html-release' considers non-relative URLs. * guix/gnu-maintenance.scm (latest-html-release): Allow for URL to be an arbitrary URL rather than a relative URL reference. --- guix/gnu-maintenance.scm | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index febed57c3a..98d326e500 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès +;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès ;;; Copyright © 2012, 2013 Nikita Karetnikov ;;; Copyright © 2021 Simon Tournier ;;; @@ -479,19 +479,21 @@ return the corresponding signature URL, or #f it signatures are unavailable." (port (http-fetch/cached uri #:ttl 3600)) (sxml (html->sxml port))) (define (url->release url) - (and (string=? url (basename url)) ;relative reference? - (release-file? package url) - (let-values (((name version) - (package-name->name+version - (tarball-sans-extension url) - #\-))) - (upstream-source - (package name) - (version version) - (urls (list (string-append base-url directory "/" url))) - (signature-urls - (list (file->signature - (string-append base-url directory "/" url)))))))) + (let* ((base (basename url)) + (url (if (string=? base url) + (string-append base-url directory "/" url) + url))) + (and (release-file? package base) + (let-values (((name version) + (package-name->name+version + (tarball-sans-extension base) + #\-))) + (upstream-source + (package name) + (version version) + (urls (list url)) + (signature-urls + (list (file->signature url)))))))) (define candidates (filter-map url->release (html-links sxml))) From 9e75b31b39cd0f95021ca29eed88a6a3b1bff8c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Mar 2021 17:51:22 +0100 Subject: [PATCH 0734/1003] gnu-maintenance: 'release-file?' rejects checksum files. * guix/gnu-maintenance.scm (release-file?): Reject ".md5sum", ".sha1sum", and ".sha256sum". --- guix/gnu-maintenance.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index 98d326e500..a8b24fa336 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -247,7 +247,9 @@ network to check in GNU's database." (define (release-file? project file) "Return #f if FILE is not a release tarball of PROJECT, otherwise return true." - (and (not (member (file-extension file) '("sig" "sign" "asc"))) + (and (not (member (file-extension file) + '("sig" "sign" "asc" + "md5sum" "sha1sum" "sha256sum"))) (and=> (regexp-exec %tarball-rx file) (lambda (match) ;; Filter out unrelated files, like `guile-www-1.1.1'. From 99f42e14d4de7c611442fe11a1eb0eed008c24ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Mar 2021 17:56:26 +0100 Subject: [PATCH 0735/1003] gnu-maintenance: 'latest-html-release' can determine signature file name. * guix/gnu-maintenance.scm (latest-html-release): #:file->signature defaults to #f. [file->signature/guess]: New procedure. [url->release]: Use it when FILE->SIGNATURE is #f. Introduce 'links' variable. (url-prefix-rewrite): Check whether URL is true before calling 'string-prefix?'. (latest-savannah-release): Adjust comment about detached signatures. --- guix/gnu-maintenance.scm | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index a8b24fa336..3bffa4d11e 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -470,16 +470,29 @@ hosted on ftp.gnu.org, or not under that name (this is the case for #:key (base-url "https://kernel.org/pub") (directory (string-append "/" package)) - (file->signature (cut string-append <> ".sig"))) + file->signature) "Return an for the latest release of PACKAGE (a string) on SERVER under DIRECTORY, or #f. BASE-URL should be the URL of an HTML page, typically a directory listing as found on 'https://kernel.org/pub'. -FILE->SIGNATURE must be a procedure; it is passed a source file URL and must -return the corresponding signature URL, or #f it signatures are unavailable." - (let* ((uri (string->uri (string-append base-url directory "/"))) - (port (http-fetch/cached uri #:ttl 3600)) - (sxml (html->sxml port))) +When FILE->SIGNATURE is omitted or #f, guess the detached signature file name, +if any. Otherwise, FILE->SIGNATURE must be a procedure; it is passed a source +file URL and must return the corresponding signature URL, or #f it signatures +are unavailable." + (let* ((uri (string->uri (string-append base-url directory "/"))) + (port (http-fetch/cached uri #:ttl 3600)) + (sxml (html->sxml port)) + (links (delete-duplicates (html-links sxml)))) + (define (file->signature/guess url) + (let ((base (basename url))) + (any (lambda (link) + (any (lambda (extension) + (and (string=? (string-append base extension) + (basename link)) + (string-append url extension))) + '(".asc" ".sig" ".sign"))) + links))) + (define (url->release url) (let* ((base (basename url)) (url (if (string=? base url) @@ -495,10 +508,10 @@ return the corresponding signature URL, or #f it signatures are unavailable." (version version) (urls (list url)) (signature-urls - (list (file->signature url)))))))) + (list ((or file->signature file->signature/guess) url)))))))) (define candidates - (filter-map url->release (html-links sxml))) + (filter-map url->release links)) (close-port port) (match candidates @@ -614,7 +627,7 @@ releases are on gnu.org." (define (url-prefix-rewrite old new) "Return a one-argument procedure that rewrites URL prefix OLD to NEW." (lambda (url) - (if (string-prefix? old url) + (if (and url (string-prefix? old url)) (string-append new (string-drop url (string-length old))) url))) @@ -646,9 +659,8 @@ releases are on gnu.org." (directory (dirname (uri-path uri))) (rewrite (url-prefix-rewrite %savannah-base "mirror://savannah"))) - ;; Note: We use the default 'file->signature', which adds ".sig", but not - ;; all projects on Savannah follow that convention: some use ".asc" and - ;; perhaps some lack signatures altogether. + ;; Note: We use the default 'file->signature', which adds ".sig", ".asc", + ;; or whichever detached signature naming scheme PACKAGE uses. (and=> (latest-html-release package #:base-url %savannah-base #:directory directory) From 1d5a946ce506adc4196aa46032350eb2c7e68d09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Mar 2021 22:35:28 +0100 Subject: [PATCH 0736/1003] gnu-maintenance: 'latest-html-release' better computes version number. * guix/gnu-maintenance.scm (latest-html-release): Use 'tarball->version' rather than 'package-name->name+version' to extract the version number. This fixes problems with packages like 'netsurf' and 'libdom' that have "-src" in their tarball name, where "src" would be taken as the new version number. --- guix/gnu-maintenance.scm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index 3bffa4d11e..5aa16acfde 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -499,12 +499,9 @@ are unavailable." (string-append base-url directory "/" url) url))) (and (release-file? package base) - (let-values (((name version) - (package-name->name+version - (tarball-sans-extension base) - #\-))) + (let ((version (tarball->version base))) (upstream-source - (package name) + (package package) (version version) (urls (list url)) (signature-urls From af9af2180e0c2c2bbde48b4060c966d954e9d4ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Mar 2021 22:25:12 +0100 Subject: [PATCH 0737/1003] gnu-maintenance: Add 'generic-html' updater. This brings total updater coverage, as reported by 'guix refresh --list-updaters', from 78% to 88.3%. Among many other things, it covers freedesktop.org packages. * guix/gnu-maintenance.scm (html-updatable-package?) (latest-html-updatable-release): New procedures. (%generic-html-updater): New variable. * doc/guix.texi (Invoking guix refresh): Document it. --- doc/guix.texi | 3 ++ guix/gnu-maintenance.scm | 60 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 51cafbcf71..db93543aa6 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -11707,6 +11707,9 @@ the updater for @uref{https://www.stackage.org, Stackage} packages. the updater for @uref{https://crates.io, Crates} packages. @item launchpad the updater for @uref{https://launchpad.net, Launchpad} packages. +@item generic-html +a generic updater that crawls the HTML page where the source tarball of +the package is hosted, when applicable. @end table For instance, the following command only checks for updates of Emacs diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index 5aa16acfde..053ad53a26 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -28,6 +28,7 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) + #:use-module (srfi srfi-34) #:use-module (rnrs io ports) #:use-module (system foreign) #:use-module (guix http-client) @@ -66,7 +67,8 @@ %gnu-ftp-updater %savannah-updater %xorg-updater - %kernel.org-updater)) + %kernel.org-updater + %generic-html-updater)) ;;; Commentary: ;;; @@ -697,6 +699,55 @@ releases are on gnu.org." #:file->signature file->signature) (cut adjusted-upstream-source <> rewrite)))) +(define html-updatable-package? + ;; Return true if the given package may be handled by the generic HTML + ;; updater. + (let ((hosting-sites '("github.com" "github.io" "gitlab.com" + "notabug.org" "sr.ht" + "gforge.inria.fr" "gitlab.inria.fr" + "ftp.gnu.org" "download.savannah.gnu.org" + "pypi.org" "crates.io" "rubygems.org" + "bioconductor.org"))) + (url-predicate (lambda (url) + (match (string->uri url) + (#f #f) + (uri + (let ((scheme (uri-scheme uri)) + (host (uri-host uri))) + (and (memq scheme '(http https)) + (not (member host hosting-sites)))))))))) + +(define (latest-html-updatable-release package) + "Return the latest release of PACKAGE. Do that by crawling the HTML page of +the directory containing its source tarball." + (let* ((uri (string->uri + (match (origin-uri (package-source package)) + ((? string? url) url) + ((url _ ...) url)))) + (custom (assoc-ref (package-properties package) + 'release-monitoring-url)) + (base (or custom + (string-append (symbol->string (uri-scheme uri)) + "://" (uri-host uri)))) + (directory (if custom + "" + (dirname (uri-path uri)))) + (package (package-upstream-name package))) + (catch #t + (lambda () + (guard (c ((http-get-error? c) #f)) + (latest-html-release package + #:base-url base + #:directory directory))) + (lambda (key . args) + ;; Return false and move on upon connection failures and bogus HTTP + ;; servers. + (unless (memq key '(gnutls-error tls-certificate-error + system-error + bad-header bad-header-component)) + (apply throw key args)) + #f)))) + (define %gnu-updater ;; This is for everything at ftp.gnu.org. (upstream-updater @@ -737,4 +788,11 @@ releases are on gnu.org." (pred (url-prefix-predicate "mirror://kernel.org/")) (latest latest-kernel.org-release))) +(define %generic-html-updater + (upstream-updater + (name 'generic-html) + (description "Updater that crawls HTML pages.") + (pred html-updatable-package?) + (latest latest-html-updatable-release))) + ;;; gnu-maintenance.scm ends here From fe96f64110676f28b948f0d31a1726501abdae0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Mar 2021 22:27:18 +0100 Subject: [PATCH 0738/1003] gnu: hwloc: Add 'release-monitoring-url' property. * gnu/packages/mpi.scm (hwloc-1)[properties]: New field. --- gnu/packages/mpi.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 9a4dc6dc64..e5a45d751c 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -66,6 +66,12 @@ (sha256 (base32 "0za1b9lvrm3rhn0lrxja5f64r0aq1qs4m0pxn1ji2mbi8ndppyyx")))) + + (properties + ;; Tell the 'generic-html' updater to monitor this URL for updates. + `((release-monitoring-url + . "https://www-lb.open-mpi.org/software/hwloc/current"))) + (build-system gnu-build-system) (outputs '("out" ;'lstopo' & co., depends on Cairo, libx11, etc. "lib" ;small closure From 29330b57e2c8cb4fce222bd69155c24bea0f7608 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 17 Mar 2021 11:36:59 +0100 Subject: [PATCH 0739/1003] gnu-maintenance: Remove unused parameters of 'latest-ftp-release'. * guix/gnu-maintenance.scm (latest-ftp-release): Remove #:ftp-open, #:ftp-close, and #:keep-file?. --- guix/gnu-maintenance.scm | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index 053ad53a26..31cc9480f3 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -327,16 +327,11 @@ name/directory pairs." #:key (server "ftp.gnu.org") (directory (string-append "/gnu/" project)) - (keep-file? (const #t)) - (file->signature (cut string-append <> ".sig")) - (ftp-open ftp-open) (ftp-close ftp-close)) + (file->signature (cut string-append <> ".sig"))) "Return an for the latest release of PROJECT on SERVER under DIRECTORY, or #f. Use FTP-OPEN and FTP-CLOSE to open (resp. close) FTP connections; this can be useful to reuse connections. -KEEP-FILE? is a predicate to decide whether to enter a directory and to -consider a given file (source tarball) as a valid candidate based on its name. - FILE->SIGNATURE must be a procedure; it is passed a source file URL and must return the corresponding signature URL, or #f it signatures are unavailable." (define (latest a b) @@ -394,7 +389,6 @@ return the corresponding signature URL, or #f it signatures are unavailable." (releases (filter-map (match-lambda ((file 'file . _) (and (release-file? project file) - (keep-file? file) (file->source directory file))) (_ #f)) entries))) From 728c90862eb967a1679efdb69e26d7ba37cdc3a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 17 Mar 2021 11:43:07 +0100 Subject: [PATCH 0740/1003] gnu-maintenance: Add a timeout on FTP connection establishment. * guix/gnu-maintenance.scm (latest-ftp-release): Pass #:timeout to 'ftp-open'. --- guix/gnu-maintenance.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index 31cc9480f3..4ba2a5f731 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -345,7 +345,7 @@ return the corresponding signature URL, or #f it signatures are unavailable." ;; Return #t for patch directory names such as 'bash-4.2-patches'. (cut string-suffix? "patches" <>)) - (define conn (ftp-open server)) + (define conn (ftp-open server #:timeout 5)) (define (file->url directory file) (string-append "ftp://" server directory "/" file)) From d45d779e2a14f757c4b560f61758a5774cc80a55 Mon Sep 17 00:00:00 2001 From: LibreMiami Date: Thu, 11 Mar 2021 23:49:11 -0500 Subject: [PATCH 0741/1003] gnu: tig: Update to 2.5.3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/version-control.scm (tig): Update to 2.5.3. Co-authored-by: jgart Co-authored-by: donotshake Signed-off-by: Ludovic Courtès --- gnu/packages/version-control.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 46dba5db61..7c93337625 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -36,6 +36,7 @@ ;;; Copyright © 2021 Maxim Cournoyer ;;; Copyright © 2021 Chris Marusich ;;; Copyright © 2021 Léo Le Bouter +;;; Copyright © 2021 LibreMiami ;;; ;;; This file is part of GNU Guix. ;;; @@ -2196,7 +2197,7 @@ from Subversion to any supported Distributed Version Control System (DVCS).") (define-public tig (package (name "tig") - (version "2.5.1") + (version "2.5.3") (source (origin (method url-fetch) (uri (string-append @@ -2204,7 +2205,7 @@ from Subversion to any supported Distributed Version Control System (DVCS).") version "/tig-" version ".tar.gz")) (sha256 (base32 - "0r4y9hyvpkplaxrzslws3asz652d83qh3bjwvmp8assga8s5s3ah")))) + "1p1575yh4daxjifywxkd0hgyfwciylqcm2qakawvwn6mk620ca75")))) (build-system gnu-build-system) (native-inputs `(("asciidoc" ,asciidoc) From bf6a1dbae1c08d6ee4ea1d169a1dd2f1ba7769ba Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 17 Mar 2021 13:30:57 +0100 Subject: [PATCH 0742/1003] news: Add 'fr' translation. * etc/news.scm: Add missing French translations. --- etc/news.scm | 122 ++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 105 insertions(+), 17 deletions(-) diff --git a/etc/news.scm b/etc/news.scm index c740acc2fe..6a968eb856 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -4,7 +4,7 @@ ;; Copyright © 2019–2021 Tobias Geerinckx-Rice ;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas ;; Copyright © 2019, 2020 Konrad Hinsen -;; Copyright © 2019, 2020 Julien Lepiller +;; Copyright © 2019, 2020, 2021 Julien Lepiller ;; Copyright © 2019, 2020, 2021 Florian Pelz ;; Copyright © 2020 Marius Bakke ;; Copyright © 2020, 2021 Mathieu Othacehe @@ -23,7 +23,8 @@ (entry (commit "77c2f4e2068ebec3f384c826c5a99785125ff72c") (title (en "@code{qemu-binfmt-service-type} is usable for any container") - (de "@code{qemu-binfmt-service-type} funktioniert mit jedem Container")) + (de "@code{qemu-binfmt-service-type} funktioniert mit jedem Container") + (fr "@code{qemu-binfmt-service-type} fonctionne avec tous les conteneurs")) (body (en "The service now makes use of the statically built QEMU binaries along with the fix binary (F) @code{binfmt_misc} flag, which allows the kernel @@ -37,12 +38,19 @@ Kernel die QEMU-Binärdatei als Ganzes vorab in den Speicher laden. Dann kann sie auch ohne weitere Konfiguration in jeder Art von isolierter Umgebung benutzt werden. Darum wurde das Feld @code{guix-support?} des @code{qemu-binfmt-configuration}-Verbundsobjekts entfernt; es wird nicht mehr -gebraucht."))) +gebraucht.") + (fr "Le service utilise maintenant les binaire QEMU statiques avec +le drapeau « fixed » (F) de @code{binfmt_misc}, ce qui permet au noyau +de le charger entièrement en mémoire. On peut donc maintenant utiliser QEMU +avec n'importe quel conteneur sans configuration supplémentaire. Le champ +@code{guix-support?} de l'enregistrement @code{qemu-binfmt-configuration} a +été supprimé car il n'est pas nécessaire."))) (entry (commit "02e2e093e858e8a0ca7bd66c1f1f6fd0a1705edb") (title (en "New @command{guix import go} command") (de "Neuer Befehl @command{guix import go}") + (fr "Nouvelle commande @command{guix import go}") (nl "Nieuwe @command{guix import go}-opdracht")) (body (en "The new @command{guix import go} command allows packagers to @@ -65,6 +73,16 @@ guix import go golang.org/x/sys Führen Sie @command{info \"(guix.de) Aufruf von guix import\"} aus, um mehr Informationen zu bekommen.") + (fr "La nouvelle commande @command{guix import go} permet aux +empaqueteur·ice·s de générer une définition de paquet ou un modèle de +définition à partir du nom d'un paquet Go disponible via +@url{https://proxy.golang.org}, comme ceci : + +@example +guix import go golang.org/x/sys +@end example + +Lancez @command{info \"(guix.fr) Invoquer guix import\"} pour en savoir plus.") (nl "Met de nieuwe @command{guix import go}-opdracht kunnen pakketschrijvers een pakketdefinitie of -sjabloon aanmaken, op basis van de naam van een Go-pakket te vinden op @url{https://proxy.golang.org}: @@ -430,7 +448,8 @@ l'instant grâce à la librairie Guile-Avahi."))) (entry (commit "a9a2fdaabcc78e7a54d9a6bcfa4ee3de308e9a90") (title (en "Logical Volume Manager (LVM) now supported on Guix System") (de "Logical Volume Manager (LVM) wird jetzt auf Guix System unterstützt") - (es "El sistema Guix ahora implementa también volúmenes lógicos LVM")) + (es "El sistema Guix ahora implementa también volúmenes lógicos LVM") + (fr "Le gestionnaire de volumes logiques (LVM) est maintenant pris en charge par le système Guix")) (body (en "On Guix System, the new @code{lvm-device-mapping} variable allows you to declare ``mapped devices'' for LVM, the Linux Logical Volume @@ -472,7 +491,20 @@ los volúmenes lógicos «alfa» y «beta» del grupo de volúmenes «vg0»: @end lisp Véase @command{info \"(guix.es) Dispositivos traducidos\"} para obtener más -información."))) +información.") + (fr "Sur le système Guix, la nouvelle variable @code{lvm-device-mapping} +vous permet de déclarer des « périphériques mappés » pour LVM, le gestionnaire +de volumes logiques. Par exemple, vous pouvez déclarer les volumes logiques +« alpha » et « beta » du groupe « vg0 » comme ceci : + +@lisp +(mapped-device + (source \"vg0\") + (target (list \"vg0-alpha\" \"vg0-beta\")) + (type lvm-device-mapping)) +@end lisp + +Voir @command{info \"(guix.fr) Périphériques mappés\"} pour en savoir plus."))) (entry (commit "3b6e4e5fd05e72b8a32ff1a2d5e21464260e21e6") (title (en "List of substitute keys is now declarative on Guix System") @@ -1123,7 +1155,8 @@ engine") (es "@command{guix pack -RR} introduce un nuevo motor de ejecución") (de "@command{guix pack -RR} führt neuen Ausführungstreiber -ein")) +ein") + (fr "@command{guix pack -RR} introduit un nouveau moteur d'exécution")) (body (en "The @command{guix pack -RR} command allows you to create a tarball containing @dfn{relocatable binaries}. Until now, those would rely @@ -1182,12 +1215,30 @@ export GUIX_EXECUTION_ENGINE @end example Führen Sie @command{info \"(guix.de) Aufruf von guix pack\"} aus, wenn Sie -mehr wissen wollen."))) +mehr wissen wollen.") + (fr "La commande @command{guix pack -RR} vous permet de créer une +archive tar contenant des @dfn{binaires repositionnables}. Jusqu'ici, ils +s'appuyaient sur les « espaces de noms non privilégiés » de Linux ou sur +PRoot, quand les espaces de noms non privilégiés n'étaient pas disponibles. +Cependant, PRoot ralenti significativement certains profils d'exécution. + +Pour éviter cela, @command{guix pack -RR} introduit une troisième possibilité +basée sur une extension de l'éditeur des liens à l'exécution de GNU (ld.so) et +sur Fakechroot, qui ralenti très peu l'exécution. Vous pouvez choisir l'option +la plus rapide à l'exécution d'un binaire relocalisable de cette manière : + +@example +GUIX_EXECUTION_ENGINE=performance +export GUIX_EXECUTION_ENGINE +@end example + +Lancez @command{info \"(guix.fr) Invoquer guix pack\"} pour en savoir plus."))) (entry (commit "88a96c568c47c97d05d883ada5afbc4e1200b10f") (title (en "New @option{--path} option for @command{guix graph}") (es "Nueva opción @option{--path} para @command{guix graph}") - (de "Neue Option @option{--path} für @command{guix graph}")) + (de "Neue Option @option{--path} für @command{guix graph}") + (fr "Nouvelle option @option{--path} pour @command{guix graph}")) (body (en "The @command{guix graph} command has a new @option{--path} option that instructs it to display the shortest path between two packages, @@ -1222,7 +1273,18 @@ guix graph --path libreoffice libunistring @end example Führen Sie @code{info \"(guix.de) Aufruf von guix graph\"} aus, um mehr zu -erfahren."))) +erfahren.") + (fr "La commande @command{guix graph} a une nouvelle option +@option{--path} qui lui dit d'afficer le plus court chemin entre deux +paquets, dérivations ou éléments du dépôt. Par exemple, la commande ci-dessous +affiche le plus court chemin entre le paquet @code{libreoffice} et +@code{libunistring} : + +@example +guix graph --path libreoffice libunistring +@end example + +Lancez @code{info \"(guix.fr) Invoquer guix graph\"} pour en savoir plus."))) (entry (commit "a33eac038a811603c8b9ed106ae405a5f80a0e9d") (title (en "GNU C Library upgraded") @@ -1328,7 +1390,8 @@ Rezepte mit uns zu teilen!"))) (entry (commit "2ca7af43fe17d9acf082dce85d137a27a8ac4887") (title (en "Further reduced binary seed bootstrap") - (de "Bootstrapping jetzt mit noch kleinerem Seed")) + (de "Bootstrapping jetzt mit noch kleinerem Seed") + (fr "Le bootstrap binaire est encore plus réduit")) (body (en "The package graph on x86_64 and i686 is now rooted in a further @dfn{reduced set of binary seeds}. The initial set of binaries from which @@ -1340,11 +1403,18 @@ the talk at @uref{https://fosdem.org/2020/schedule/event/gnumes/}.") Menge an Binärdateien, aus denen heraus Pakete erstellt werden, machen nun ungefähr 60 MiB aus, ein Viertel der früheren Größe. Führen Sie @code{info \"(guix.de) Bootstrapping\"} aus, um mehr zu erfahren, oder schauen Sie sich -den Vortrag auf @uref{https://fosdem.org/2020/schedule/event/gnumes/} an."))) +den Vortrag auf @uref{https://fosdem.org/2020/schedule/event/gnumes/} an.") + (fr "Le graphe des paquets sur x86_64 et i686 prend maintenant racine +dans un @dfn{ensemble de graines binaires} plus réduit. L'ensemble initial +des binaires à partir desquels les paquets sont désormais construit pèse +environ 60 Mo, un quart de ce qu'il était. Lancez +@code{info \"(guix.fr) Bootstrapping\"} pour en savoir plus, ou regardez +la présentation sur @uref{https://fosdem.org/2020/schedule/event/gnumes/}."))) (entry (commit "0468455e7d279c89ea3ad1b51935efb2b785ec47") (title (en "Rottlog service added to @code{%base-services}") - (de "Rottlog-Dienst ist nun Teil der @code{%base-services}")) + (de "Rottlog-Dienst ist nun Teil der @code{%base-services}") + (fr "Le service rottlog a été ajouté à @code{%base-services}")) (body (en "An instance of @code{rottlog-service-type}, the system service responsible for log rotation, has been added to @code{%base-services}. If your operating system configuration for Guix System is explicitly adding @@ -1354,11 +1424,18 @@ the ``Log Rotation'' section of the manual for more information.") Log-Rotation wurde zu den @code{%base-services} hinzugefügt. Wenn der Systemdienst bereits in Ihrer Konfiguration für Guix System ausdrücklich genannt wurde, sollten Sie ihn jetzt daraus entfernen. Siehe den Abschnitt -„Log-Rotation“ im Handbuch für weitere Informationen."))) +„Log-Rotation“ im Handbuch für weitere Informationen.") + (fr "Une instance de @code{rottlog-service-type}, le service +système responsable de la rotation des journaux, a été ajoutée à +@code{%base-services}. Si votre configuration de système d'exploitation Guix +System ajoute @code{rottlog-service-type} explicitement, vous devriez maintenant +le supprimer. Voir la section « Rotation des journaux » dans le manuel +pour en savoir plus."))) (entry (commit "b6bee63bed4f013064c0d902e7c8b83ed7514ade") (title (en "@code{guile} package now refers to version 3.0") - (de "Das @code{guile}-Paket bezeichnet jetzt Version 3.0")) + (de "Das @code{guile}-Paket bezeichnet jetzt Version 3.0") + (fr "Le paquet @code{guile} se réfère maintenant à la version 3.0")) (body (en "The @code{guile} package has been upgraded to version 3.0 (instead of 2.2). The @code{guile3.0-} packages have been renamed to their original name, and @code{guile2.2-} variants of these packages have been @@ -1369,7 +1446,12 @@ system services also run on 3.0.") beginnen, wurden umbenannt, so dass sie nun den unveränderten Namen tragen, während ihre Varianten mit @code{guile2.2-} hinzugefügt wurden. Des Weiteren werden jetzt alle Ableitungen mit Guile 3.0 erstellt und die Systemdienste -laufen auch auf 3.0."))) +laufen auch auf 3.0.") + (fr "Le paquet @code{guile} a été mis à jour vers la version 3.0 +(au lieu de la 2.2). Les paquets @code{guile3.0-} ont été renommés en leur +nom d'origine et les variantes @code{guile2.2-} de ces paquets ont été définis. +En plus, les dérivation sont maintenant construites avec Guile 3.0, et les +services systèmes utilisent aussi la 3.0."))) (entry (commit "e3e1a7ba08af2d58c47264c543617e499c239444") (title (en "@command{guix pull} now supports SSH authenticated @@ -1475,7 +1557,9 @@ historique."))) (entry (commit "3e962e59d849e4300e447d94487684102d9d412e") (title (en "@command{guix graph} now supports package transformations") - (de "@command{guix graph} unterstützt nun Paketumwandlungen")) + (de "@command{guix graph} unterstützt nun Paketumwandlungen") + (fr "@command{guix graph} prend maintenant en charge les +transformations de paquets")) (body (en "The @command{guix graph} command now supports the common package transformation options (see @command{info \"(guix) Package Transformation @@ -1490,7 +1574,11 @@ Abhängigkeitsgraphen zu sehen.") comunes de transformación de paquetes (véase @command{info \"(guix.es) Opciones de transformación de paquetes\"}). Esto es particularmente útil para comprobar el efecto de la opción de reescritura del grafo -de dependencias @option{--with-input}."))) +de dependencias @option{--with-input}.") + (fr "La commande @command{guix graph} prend maintenant en charge les +transformations de paquets communes (voir @command{info \"(guix.fr) Options de +transformation de paquets\"}). C'est particulièrement utile pour voir l'effet +de l'option @option{--with-input} qui réécrit de graphe de dépendance."))) (entry (commit "49af34cfac89d384c46269bfd9388b2c73b1220a") (title (en "@command{guix pull} now honors From fef91c0cc8770c6c4fce08bd748e6f241a8cd682 Mon Sep 17 00:00:00 2001 From: Leo Prikler Date: Mon, 15 Mar 2021 20:43:41 +0100 Subject: [PATCH 0743/1003] gnu: Move lolcode to esolangs. * gnu/packages/lolcode.scm (lci): Move from here... * gnu/packages/esolangs.scm (lolcode-lci): ... to here. * gnu/packages/lolcode.scm: Delete file. * gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly. --- gnu/local.mk | 1 - gnu/packages/esolangs.scm | 37 ++++++++++++++++++++++++ gnu/packages/lolcode.scm | 60 --------------------------------------- 3 files changed, 37 insertions(+), 61 deletions(-) delete mode 100644 gnu/packages/lolcode.scm diff --git a/gnu/local.mk b/gnu/local.mk index abb1e2140d..0422beac82 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -353,7 +353,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/logging.scm \ %D%/packages/logo.scm \ %D%/packages/loko.scm \ - %D%/packages/lolcode.scm \ %D%/packages/lsof.scm \ %D%/packages/lua.scm \ %D%/packages/lxde.scm \ diff --git a/gnu/packages/esolangs.scm b/gnu/packages/esolangs.scm index 676b355e65..45feedfa28 100644 --- a/gnu/packages/esolangs.scm +++ b/gnu/packages/esolangs.scm @@ -1,4 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016 Nikita +;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; Copyright © 2020 Hendursaga ;;; Copyright © 2020 Leo Prikler ;;; @@ -22,6 +24,8 @@ #:use-module (gnu packages bison) #:use-module (gnu packages flex) #:use-module (gnu packages ncurses) + #:use-module (gnu packages python) + #:use-module (gnu packages readline) #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) @@ -56,6 +60,39 @@ written in C. It supports several @dfn{fingerprints} (opt-in language extension identified by unique ID codes).") (license license:gpl3))) +(define-public lolcode-lci + (package + (name "lolcode-lci") + (version "0.11.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/justinmeza/lci") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0syw60b93iajgh91ffchirwwhm2kix2753ibx845kyrhzggmdh2l")))) + (build-system cmake-build-system) + (inputs + `(("readline" ,readline))) + (native-inputs + `(("python-2" ,python-2))) ; for the tests + (synopsis "LOLCODE interpreter written in C") + (description + "@code{lci} is a LOLCODE interpreter written in C and is designed to be +correct, portable, fast, and precisely documented. +@enumerate +@item correct: Every effort has been made to test lci's conformance to the +LOLCODE language specification. Unit tests come packaged with the lci source code. +@item portable: lci follows the widely ported ANSI C specification allowing it +to compile on a broad range of systems. +@item fast: Much effort has gone into producing simple and efficient code +whenever possible to the extent that the above points are not compromized. +@end enumerate") + (home-page "http://lolcode.org/") + (license license:gpl3+))) + (define-public shakespeare-spl (package (name "shakespeare-spl") diff --git a/gnu/packages/lolcode.scm b/gnu/packages/lolcode.scm deleted file mode 100644 index cdbff1f4b6..0000000000 --- a/gnu/packages/lolcode.scm +++ /dev/null @@ -1,60 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Nikita -;;; Copyright © 2019 Tobias Geerinckx-Rice -;;; -;;; 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 lolcode) - #:use-module (gnu packages) - #:use-module (gnu packages python) - #:use-module (gnu packages readline) - #:use-module (guix build-system cmake) - #:use-module (guix git-download) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages)) - -(define-public lci - (package - (name "lci") - (version "0.11.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/justinmeza/lci") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0syw60b93iajgh91ffchirwwhm2kix2753ibx845kyrhzggmdh2l")))) - (build-system cmake-build-system) - (inputs - `(("readline" ,readline))) - (native-inputs - `(("python-2" ,python-2))) ; for the tests - (synopsis "LOLCODE interpreter written in C") - (description - "@code{lci} is a LOLCODE interpreter written in C and is designed to be -correct, portable, fast, and precisely documented. -@enumerate -@item correct: Every effort has been made to test lci's conformance to the -LOLCODE language specification. Unit tests come packaged with the lci source code. -@item portable: lci follows the widely ported ANSI C specification allowing it -to compile on a broad range of systems. -@item fast: Much effort has gone into producing simple and efficient code -whenever possible to the extent that the above points are not compromized. -@end enumerate") - (home-page "http://lolcode.org/") - (license license:gpl3+))) From 284864df9192a41e8edf89175388409ff95cd054 Mon Sep 17 00:00:00 2001 From: Leo Prikler Date: Wed, 17 Mar 2021 14:20:39 +0100 Subject: [PATCH 0744/1003] gnu: komikku: Update to 0.27.0. * gnu/packages/gnome.scm (komikku): Update to 0.27.0. [inputs]: Add python-brotli and webkitgtk. --- gnu/packages/gnome.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 49412a87cc..adb036d5e5 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -166,6 +166,7 @@ #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages python-compression) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) @@ -11949,7 +11950,7 @@ integrated profiler via Sysprof, debugging support, and more.") (define-public komikku (package (name "komikku") - (version "0.26.1") + (version "0.27.0") (source (origin (method git-fetch) @@ -11959,7 +11960,7 @@ integrated profiler via Sysprof, debugging support, and more.") (file-name (git-file-name name version)) (sha256 (base32 - "1mas409c14p6g0v10w4cf5hsjbs0922h6h9k9pyj9s8y7yi2ikz2")))) + "0mj4bsy7jp9wjj1dqz9zdq5aj0ib813wkz5k1481k80jp9dnlqnv")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -11991,6 +11992,7 @@ integrated profiler via Sysprof, debugging support, and more.") ("libnotify" ,libnotify) ("libsecret" ,libsecret) ("python-beautifulsoup4" ,python-beautifulsoup4) + ("python-brotli" ,python-brotli) ("python-dateparser" ,python-dateparser) ("python-keyring" ,python-keyring) ("python-lxml" ,python-lxml) @@ -12000,7 +12002,8 @@ integrated profiler via Sysprof, debugging support, and more.") ("python-pycairo" ,python-pycairo) ("python-pygobject" ,python-pygobject) ("python-requests" ,python-requests) - ("python-unidecode" ,python-unidecode))) + ("python-unidecode" ,python-unidecode) + ("webkitgtk" ,webkitgtk))) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) ("gettext" ,gettext-minimal) From d79d63e7829d53f6a501d8df7e264ff70033abca Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 17 Mar 2021 14:32:45 +0100 Subject: [PATCH 0745/1003] gnu: emacs-marginalia: Update to 0.4. * gnu/packages/emacs-xyz.scm (emacs-marginalia): Update to 0.4. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index bedfd61fc7..ca65f5c55d 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7359,7 +7359,7 @@ list of candidates.") (define-public emacs-marginalia (package (name "emacs-marginalia") - (version "0.3") + (version "0.4") (source (origin (method git-fetch) @@ -7368,7 +7368,7 @@ list of candidates.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1qihw1vq9sysrl6ha23ggycp0n2n1dx1ajkaqfm5vmv8480al07i")))) + (base32 "0piwzxp1zmwp876kyca0xcgyxgn8bn4wh5fnn88dkvdzi8mcgmkh")))) (build-system emacs-build-system) (home-page "https://github.com/minad/marginalia") (synopsis "Marginalia in the minibuffer completions") From cb424bad32892f6f4a743ca52d92416d166fd796 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Wed, 17 Mar 2021 18:45:39 +0300 Subject: [PATCH 0746/1003] gnu: Add emacs-kotlin-mode. * gnu/packages/emacs-xyz.scm (emacs-kotlin-mode): New variable. --- gnu/packages/emacs-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index ca65f5c55d..4ff97eab3b 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -14636,6 +14636,32 @@ navigation with the grails mode.") from @code{groovy-mode} for editing Jenkins declarative pipeline files.") (license license:gpl3+)))) +(define-public emacs-kotlin-mode + (let ((commit "0e4bafb31d1fc2a0a420a521c2723d5526646c0b") + (revision "1")) + (package + (name "emacs-kotlin-mode") + (version (git-version "0.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Emacs-Kotlin-Mode-Maintainers/kotlin-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09inpgwmnnqaakyn4r4xs8kax8b89dw94kvl521x6d43h9zl5i70")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("ert-runner" "-L" "." "-L" "test"))) + (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner))) + (home-page "https://github.com/Emacs-Kotlin-Mode-Maintainers/kotlin-mode") + (synopsis "Major major-mode for editing Kotlin files") + (description + "This package provides a @code{kotlin-mode} for editing Kotlin files.") + (license license:gpl3+)))) + (define-public emacs-org-tree-slide (let ((commit "036a36eec1cf712d3db155572aed325daa372eb5") (revision "2")) From 2691f57678725e229ceb1e94456b3ad0b44fbd60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Wed, 17 Mar 2021 18:36:47 +0100 Subject: [PATCH 0747/1003] gnu: python-pygments: Update to 2.7.4 [fixes CVE-2021-27291]. * gnu/packages/python-xyz.scm (python-pygments/fixed): New variable. (python-pygments)[replacement]: Graft. --- gnu/packages/python-xyz.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 2cd6f55f4d..79eac0ec7f 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3701,6 +3701,7 @@ text styles of documentation.") (sha256 (base32 "05mps9r966r3dpqw6zrs1nlwjdf5y4960hl9m7abwb3qyfnarwyc")))) + (replacement python-pygments/fixed) (build-system python-build-system) (arguments ;; FIXME: Tests require sphinx, which depends on this. @@ -3712,6 +3713,17 @@ text styles of documentation.") (license license:bsd-2) (properties `((python2-variant . ,(delay python2-pygments)))))) +(define python-pygments/fixed + (package/inherit python-pygments + (version "2.7.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Pygments" version)) + (sha256 + (base32 + "0dy35ry5qa8dpklk4fkj9kfpw2qb4mh5ha9866kw30wf96dx0jfz")))))) + ;; Pygments 2.6 and later does not support Python 2. (define-public python2-pygments (let ((base (package-with-python2 (strip-python2-variant python-pygments)))) From f4f677f2237915d64ca4eb4b1bb8e31ec61d0476 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 17 Mar 2021 21:33:01 +0200 Subject: [PATCH 0748/1003] gnu: lua.scm: Sort package module imports alphabetically. * gnu/packages/lua.scm: Sort package module imports alphabetically. --- gnu/packages/lua.scm | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 16996572d7..edb3f85109 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -41,23 +41,22 @@ #:use-module (guix build-system meson) #:use-module (guix build-system trivial) #:use-module (gnu packages) - #:use-module (gnu packages gcc) + #:use-module (gnu packages boost) #:use-module (gnu packages build-tools) - #:use-module (gnu packages readline) - #:use-module (gnu packages m4) - #:use-module (gnu packages tls) - #:use-module (gnu packages xml) + #:use-module (gnu packages gcc) #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) #:use-module (gnu packages libevent) #:use-module (gnu packages libffi) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages boost) - #:use-module (gnu packages tls) + #:use-module (gnu packages m4) #:use-module (gnu packages ncurses) - #:use-module (gnu packages vim) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages re2c) - #:use-module (gnu packages xorg) - #:use-module (gnu packages gtk)) + #:use-module (gnu packages readline) + #:use-module (gnu packages tls) + #:use-module (gnu packages vim) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg)) (define-public lua (package From d7b4ccefa9452033dc8f6875ef40b108591ad5b4 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 17 Mar 2021 20:15:15 +0000 Subject: [PATCH 0749/1003] gnu: libtirpc/hurd: Fix package source. Amend the changes in 1a265842e634656411bc7304c4648273f174f65e to properly access the origin patches from libtirpc. I noticed this as guix weather didn't work for this package. * gnu/packages/onc-rpc.scm (libtirpc/hurd)[source]: Call origin-patches on (package-source libtirpc) rather than the libtirpc package. --- gnu/packages/onc-rpc.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/onc-rpc.scm b/gnu/packages/onc-rpc.scm index c58bdb1dfc..3b29335d90 100644 --- a/gnu/packages/onc-rpc.scm +++ b/gnu/packages/onc-rpc.scm @@ -78,7 +78,7 @@ IPv4 and IPv6. ONC RPC is notably used by the network file system (NFS).") (package/inherit libtirpc (name "libtirpc-hurd") (source (origin (inherit (package-source libtirpc)) - (patches (append (origin-patches libtirpc) + (patches (append (origin-patches (package-source libtirpc)) (search-patches "libtirpc-hurd.patch" "libtirpc-hurd-client.patch"))))) (arguments From 841e5fb4ddff7f29c06cf9faea65cfe5626fde20 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 17 Mar 2021 19:56:59 +0100 Subject: [PATCH 0750/1003] gnu: scdoc: Don't use unstable tarball. The autogenerated tarball was modified upstream. * gnu/packages/man.scm (scdoc)[source]: Use GIT-FETCH and GIT-FILE-NAME. --- gnu/packages/man.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 21a9c73892..d6ace365fc 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -293,13 +293,13 @@ automatically.") (version "1.10.1") (source (origin - (method url-fetch) - (uri (string-append "https://git.sr.ht/%7Esircmpwn/scdoc/archive/" version - ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~sircmpwn/scdoc") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "13x7g1r56bshvfmlvapvz35ywnbgsh337kywb5kcv8nc6b3j3q40")))) + (base32 "1xmh6fnp378xmiycslg4migs1vx7yly4i1cf2vbbnwim9c9g0aw7")))) (build-system gnu-build-system) (arguments `(#:make-flags From 24f1ce9e71a4f2fc7370cefb42c04cb669397fcf Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 17 Mar 2021 20:09:18 +0100 Subject: [PATCH 0751/1003] gnu: scdoc: Cross-compile. * gnu/packages/man.scm (scdoc)[arguments]: Use CC-FOR-TARGET. --- gnu/packages/man.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index d6ace365fc..c021a1e2e4 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -31,6 +31,7 @@ #:use-module (guix packages) #:use-module (guix build-system gnu) #:use-module (guix build-system ruby) + #:use-module (guix utils) #:use-module (gnu packages dbm) #:use-module (gnu packages flex) #:use-module (gnu packages gawk) @@ -303,7 +304,8 @@ automatically.") (build-system gnu-build-system) (arguments `(#:make-flags - (list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out"))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases (delete 'configure)))) From c37e3b92ad0334ba2fe7ee4e98631f0a4edeee21 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 15 Mar 2021 15:05:08 +0000 Subject: [PATCH 0752/1003] scripts: substitute: Add back some error handling. In f50f5751fff4cfc6d5abba9681054569694b7a5c, the way fetch was called within process-substitution was changed. As call-with-cached-connection actually includes important error handling for the opening of a HTTP request, this change removed some error handling. This commit adds that back. Fixes . * guix/scripts/substitute.scm (call-with-cached-connection): New procedure. (with-cached-connection): New syntax rule. (process-substitution): Retry once for some errors when making HTTP requests to fetch substitutes. --- guix/scripts/substitute.scm | 39 ++++++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 6892aa999b..812f2999ab 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -45,6 +45,7 @@ #:select (uri-abbreviation nar-uri-abbreviation (open-connection-for-uri . guix:open-connection-for-uri))) + #:autoload (gnutls) (error/invalid-session) #:use-module (guix progress) #:use-module ((guix build syscalls) #:select (set-thread-name)) @@ -377,6 +378,32 @@ server certificates." (drain-input socket) socket)))))))) +(define (call-with-cached-connection uri proc) + (let ((port (open-connection-for-uri/cached uri + #:verify-certificate? #f))) + (catch #t + (lambda () + (proc port)) + (lambda (key . args) + ;; If PORT was cached and the server closed the connection in the + ;; meantime, we get EPIPE. In that case, open a fresh connection + ;; and retry. We might also get 'bad-response or a similar + ;; exception from (web response) later on, once we've sent the + ;; request, or a ERROR/INVALID-SESSION from GnuTLS. + (if (or (and (eq? key 'system-error) + (= EPIPE (system-error-errno `(,key ,@args)))) + (and (eq? key 'gnutls-error) + (eq? (first args) error/invalid-session)) + (memq key '(bad-response bad-header bad-header-component))) + (proc (open-connection-for-uri/cached uri + #:verify-certificate? #f + #:fresh? #t)) + (apply throw key args)))))) + +(define-syntax-rule (with-cached-connection uri port exp ...) + "Bind PORT with EXP... to a socket connected to URI." + (call-with-cached-connection uri (lambda (port) exp ...))) + (define* (process-substitution store-item destination #:key cache-urls acl deduplicate? print-build-trace?) @@ -424,11 +451,11 @@ the current output port." (call-with-connection-error-handling uri (lambda () - (http-fetch uri #:text? #f - #:open-connection open-connection-for-uri/cached - #:keep-alive? #t - #:buffered? #f - #:verify-certificate? #f)))))) + (with-cached-connection uri port + (http-fetch uri #:text? #f + #:port port + #:keep-alive? #t + #:buffered? #f))))))) (else (leave (G_ "unsupported substitute URI scheme: ~a~%") (uri->string uri))))) @@ -715,6 +742,8 @@ if needed, as expected by the daemon's agent." ;;; Local Variables: ;;; eval: (put 'with-timeout 'scheme-indent-function 1) ;;; eval: (put 'with-redirected-error-port 'scheme-indent-function 0) +;;; eval: (put 'with-cached-connection 'scheme-indent-function 2) +;;; eval: (put 'call-with-cached-connection 'scheme-indent-function 1) ;;; End: ;;; substitute.scm ends here From b48204259aa9cad80c5b23a4060e2d796007ec7a Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 15 Mar 2021 16:05:24 +0000 Subject: [PATCH 0753/1003] scripts: substitute: Tweak error reporting in process-substitution. The call-with-connection-error-handling was added in 20c08a8a45d0f137ead7c05e720456b2aea44402, but that error handling was previously inside of open-connection-for-uri/maybe, which is related to (call-)with-cached-connection which was used in process-substitution, but only actually used with call-with-cached-connection when used in fetch-narinfos. There's some handling for similar errors within with-networking, which is used within process-substitution. * guix/scripts/substitute.scm (process-substitution): Remove call-with-connection-error-handling call. --- guix/scripts/substitute.scm | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 812f2999ab..2bbbafe204 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -448,14 +448,11 @@ the current output port." (warning (G_ "while fetching ~a: server is somewhat slow~%") (uri->string uri)) (warning (G_ "try `--no-substitutes' if the problem persists~%"))) - (call-with-connection-error-handling - uri - (lambda () - (with-cached-connection uri port - (http-fetch uri #:text? #f - #:port port - #:keep-alive? #t - #:buffered? #f))))))) + (with-cached-connection uri port + (http-fetch uri #:text? #f + #:port port + #:keep-alive? #t + #:buffered? #f))))) (else (leave (G_ "unsupported substitute URI scheme: ~a~%") (uri->string uri))))) From c5ab78f90b111839508d0ab10c0e5ac2038002ca Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 15 Mar 2021 14:06:27 +0000 Subject: [PATCH 0754/1003] substitutes: lookup-narinfos: Return the number of requests made. As an additional value, in addition to the narinfos. This value is useful in the weather script for reporting how many requests to the substitute server were made. * guix/substitutes.scm (lookup-narinfos): Additionally return the number of requests made. --- guix/substitutes.scm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/guix/substitutes.scm b/guix/substitutes.scm index ef78013659..08f8c24efd 100644 --- a/guix/substitutes.scm +++ b/guix/substitutes.scm @@ -310,13 +310,14 @@ information is available locally." '() '() paths))) - (if (null? missing) - cached - (let ((missing (fetch-narinfos cache missing - #:open-connection open-connection - #:make-progress-reporter - make-progress-reporter))) - (append cached (or missing '())))))) + (values (if (null? missing) + cached + (let ((missing (fetch-narinfos cache missing + #:open-connection open-connection + #:make-progress-reporter + make-progress-reporter))) + (append cached (or missing '())))) + (length missing)))) (define* (lookup-narinfos/diverse caches paths authorized? #:key (open-connection From c37f78a9f55874015d10f081be36104bb33a3ae1 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 15 Mar 2021 14:37:49 +0000 Subject: [PATCH 0755/1003] scripts: weather: Provide more representative request statistics. Previously, the "seconds per request" and "requests per second" statistics really reported (cache lookups + requests) per second. By looking at the actual number of requests made within lookup-narinfos, a more representative value can be reported. * guix/scripts/weather.scm (let/time): Allow for multiple return values. (report-server-coverage): Alter the reporting of request statistics. --- guix/scripts/weather.scm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/guix/scripts/weather.scm b/guix/scripts/weather.scm index 26ec543211..349052459c 100644 --- a/guix/scripts/weather.scm +++ b/guix/scripts/weather.scm @@ -117,8 +117,8 @@ values." (end (current-time time-monotonic))) (apply kont (time-difference end start) result))) -(define-syntax-rule (let/time ((time result exp)) body ...) - (call-with-time (lambda () exp) (lambda (time result) body ...))) +(define-syntax-rule (let/time ((time result ... exp)) body ...) + (call-with-time (lambda () exp) (lambda (time result ...) body ...))) (define (histogram field proc seed lst) "Return an alist giving a histogram of all the values of FIELD for elements @@ -181,11 +181,12 @@ Return the coverage ratio, an exact number between 0 and 1." (format #t (G_ "looking for ~h store items on ~a...~%") (length items) server) - (let/time ((time narinfos (lookup-narinfos - server items - #:make-progress-reporter - (lambda* (total #:key url #:allow-other-keys) - (progress-reporter/bar total))))) + (let/time ((time narinfos requests-made + (lookup-narinfos + server items + #:make-progress-reporter + (lambda* (total #:key url #:allow-other-keys) + (progress-reporter/bar total))))) (format #t "~a~%" server) (let ((obtained (length narinfos)) (requested (length items)) @@ -212,9 +213,9 @@ Return the coverage ratio, an exact number between 0 and 1." (format #t (G_ " ~,1h MiB on disk (uncompressed)~%") (/ (reduce + 0 (map narinfo-size narinfos)) MiB)) (format #t (G_ " ~,3h seconds per request (~,1h seconds in total)~%") - (/ time requested 1.) time) + (/ time requests-made 1.) time) (format #t (G_ " ~,1h requests per second~%") - (/ requested time 1.)) + (/ requests-made time 1.)) (guard (c ((http-get-error? c) (if (= 404 (http-get-error-code c)) From c81eeabb99f89f2b7bf1417bfbf992ba47af02a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 17 Mar 2021 15:03:19 +0100 Subject: [PATCH 0756/1003] import: gnome: Exclude version numbers that do not start with a digit. Fixes a bug whereby NetworkManager would be updated to version "rc2". * guix/import/gnome.scm (latest-gnome-release)[even-minor-version?]: Change catch-all case to return #f when the first part is not a digit. --- guix/import/gnome.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/guix/import/gnome.scm b/guix/import/gnome.scm index 436ec88ef9..c0ee1bfa5d 100644 --- a/guix/import/gnome.scm +++ b/guix/import/gnome.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2019 Ludovic Courtès +;;; Copyright © 2017, 2019, 2021 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -64,8 +64,9 @@ not be determined." (match (string-tokenize version %not-dot) (((= string->number major) (= string->number minor) . rest) (and minor (even? minor))) - (_ - #t))) ;cross fingers + (((= string->number major) . _) + ;; It should at last start with a digit. + major))) (define upstream-name ;; Some packages like "NetworkManager" have camel-case names. From dbfc6a32bb60d2841e300c99e1b39c87254ece1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 17 Mar 2021 15:04:56 +0100 Subject: [PATCH 0757/1003] http-client: 'http-fetch' and 'http-fetch/cached' accept #:log-port. * guix/http-client.scm (http-fetch, http-fetch/cached): Add #:log-port and honor it. --- guix/http-client.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/guix/http-client.scm b/guix/http-client.scm index 2d7458a56e..4b4c14ed0b 100644 --- a/guix/http-client.scm +++ b/guix/http-client.scm @@ -79,6 +79,7 @@ (keep-alive? #f) (verify-certificate? #t) (headers '((user-agent . "GNU Guile"))) + (log-port (current-error-port)) timeout) "Return an input port containing the data at URI, and the expected number of bytes available or #f. If TEXT? is true, the data at URI is considered to be @@ -94,6 +95,8 @@ When VERIFY-CERTIFICATE? is true, verify HTTPS server certificates. TIMEOUT specifies the timeout in seconds for connection establishment; when TIMEOUT is #f, connection establishment never times out. +Write information about redirects to LOG-PORT. + Raise an '&http-get-error' condition if downloading fails." (let loop ((uri (if (string? uri) (string->uri uri) @@ -128,7 +131,7 @@ Raise an '&http-get-error' condition if downloading fails." 308) ; permanent redirection (let ((uri (resolve-uri-reference (response-location resp) uri))) (close-port port) - (format (current-error-port) (G_ "following redirection to `~a'...~%") + (format log-port (G_ "following redirection to `~a'...~%") (uri->string uri)) (loop uri))) (else @@ -276,6 +279,7 @@ returning." (define* (http-fetch/cached uri #:key (ttl (%http-cache-ttl)) text? (write-cache dump-port) (cache-miss (const #t)) + (log-port (current-error-port)) (timeout 10)) "Like 'http-fetch', return an input port, but cache its contents in ~/.cache/guix. The cache remains valid for TTL seconds. @@ -284,7 +288,9 @@ Call WRITE-CACHE with the HTTP input port and the cache output port to write the data to cache. Call CACHE-MISS with URI just before fetching data from URI. -TIMEOUT specifies the timeout in seconds for connection establishment." +TIMEOUT specifies the timeout in seconds for connection establishment. + +Write information about redirects to LOG-PORT." (let ((file (cache-file-for-uri uri))) (define (update-cache cache-port) (define cache-time @@ -306,6 +312,7 @@ TIMEOUT specifies the timeout in seconds for connection establishment." cache-port) (raise c)))) (let ((port (http-fetch uri #:text? text? + #:log-port log-port #:headers headers #:timeout timeout))) (cache-miss uri) (mkdir-p (dirname file)) From 62c1b0b7440c030fadcdc793b4b474241c377f37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 17 Mar 2021 15:05:34 +0100 Subject: [PATCH 0758/1003] import: gnome: Silence URL redirect messages. * guix/import/gnome.scm (latest-gnome-release): Pass #:log-port to 'http-fetch/cached'. --- guix/import/gnome.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/guix/import/gnome.scm b/guix/import/gnome.scm index c0ee1bfa5d..43966c1028 100644 --- a/guix/import/gnome.scm +++ b/guix/import/gnome.scm @@ -83,7 +83,10 @@ not be determined." ;; ftp.gnome.org supports 'if-Modified-Since', so the local ;; cache can expire early. - #:ttl (* 60 10))) + #:ttl (* 60 10) + + ;; Hide messages about URL redirects. + #:log-port (%make-void-port "w"))) (json (json->scm port))) (close-port port) (match json From f526105210fc3a3b3af9ad59a635a63bd32100ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 17 Mar 2021 15:19:31 +0100 Subject: [PATCH 0759/1003] doc: Tweak "Invoking guix refresh" node. * doc/guix.texi (Invoking guix refresh): Update output in '--recursive' example. Use @xref, not @ref, at the beginning of a sentence. --- doc/guix.texi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index db93543aa6..0a70ac7f11 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -11581,10 +11581,10 @@ Consider the packages specified, and all the packages upon which they depend. @example $ guix refresh --recursive coreutils -gnu/packages/acl.scm:35:2: warning: no updater for acl -gnu/packages/m4.scm:30:12: info: 1.4.18 is already the latest version of m4 +gnu/packages/acl.scm:40:13: acl would be upgraded from 2.2.53 to 2.3.1 +gnu/packages/m4.scm:30:12: 1.4.18 is already the latest version of m4 gnu/packages/xml.scm:68:2: warning: no updater for expat -gnu/packages/multiprecision.scm:40:12: info: 6.1.2 is already the latest version of gmp +gnu/packages/multiprecision.scm:40:12: 6.1.2 is already the latest version of gmp @dots{} @end example @@ -11824,7 +11824,7 @@ gpg --no-default-keyring --keyring mykeyring.kbx \ --recv-keys @value{OPENPGP-SIGNING-KEY-ID} @end example -@ref{GPG Configuration Options, @option{--keyring},, gnupg, Using the GNU +@xref{GPG Configuration Options, @option{--keyring},, gnupg, Using the GNU Privacy Guard}, for more information on GPG's @option{--keyring} option. @item --key-download=@var{policy} From ce10e2b3e93476a89cf85838fa21bb8b54268b1f Mon Sep 17 00:00:00 2001 From: Maxime Devos Date: Mon, 22 Feb 2021 16:43:10 +0100 Subject: [PATCH 0760/1003] gnu: Use autoconf instead of autoconf-wrapper when possible. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This should reduce confusion on when to use the "autoconf" package and when to use "autoconf-wrapper" instead in package definitions. Fixes . * gnu/packages/autotools.scm (autoconf-wrapper): advise to use the "autoconf" package instead where possible. * gnu/packages/game-development.scm (tsukundere)[native-inputs]: use "autoconf" instead of "autoconf-wrapper". * gnu/packages/gimp.scm (glimpse)[native-inputs]: likewise. (gimp-resynthesizer)[native-inputs]: add comment on why "autoconf-wrapper" is used. * gnu/packages/gnunet.scm (gnunet)[native-inputs]: use "autoconf" instead of "autoconf-wrapper". * gnu/packages/gnupg.scm (signing-party)[native-inputs]: add comment on why "autoconf-wrapper" is used. * gnu/packages/guile-xyz.scm (guile-bash,guile-filesystem,guile-ics,guile-udev)[native-inputs]: use "autoconf" instead of "autoconf-wrapper". * gnu/packages/libevent.scm (libuv)[native-inputs]: indicates "autoconf-wrapper" needs to be replaced with "autoconf" on core-updates. * gnu/packages/logging.scm (glog)[native-inputs]: use "autoconf" instead of "autoconf-wrapper". * gnu/packages/mail.scm (libetpan)[native-inputs]: likewise. * gnu/packages/mate.scm (mate-icon-theme-faenza)[native-inputs]: add comment on why "autoconf-wrapper" is used. (mate-screensaver)[native-inputs]: use "autoconf" instead of "autoconf-wrapper". * gnu/packages/package-management.scm (guix)[native-inputs]: likewise. * gnu/packages/sawfish.scm (librep)[native-inputs]: likewise. * gnu/packages/video.scm (motion)[native-inputs]: likewise. * gnu/packages/zile.scm (zile)[native-inputs]: likewise. Signed-off-by: Ludovic Courtès --- gnu/packages/autotools.scm | 2 ++ gnu/packages/game-development.scm | 2 +- gnu/packages/gimp.scm | 4 +++- gnu/packages/gnunet.scm | 2 +- gnu/packages/gnupg.scm | 2 ++ gnu/packages/guile-xyz.scm | 8 ++++---- gnu/packages/libevent.scm | 1 + gnu/packages/logging.scm | 2 +- gnu/packages/mail.scm | 2 +- gnu/packages/mate.scm | 4 +++- gnu/packages/package-management.scm | 2 +- gnu/packages/sawfish.scm | 2 +- gnu/packages/video.scm | 2 +- gnu/packages/zile.scm | 2 +- 14 files changed, 23 insertions(+), 14 deletions(-) diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index e999688894..12a36a4709 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -267,6 +267,8 @@ exec ~a --no-auto-compile \"$0\" \"$@\" ;; Do not show it in the UI since it's meant for internal use. (properties '((hidden? . #t))))) +;; Only use this package when autoconf is not usable, +;; see . (define-public autoconf-wrapper (make-autoconf-wrapper autoconf)) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 7e17142b9e..6d88c3d73b 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -529,7 +529,7 @@ clone.") all))) #t)))))) (native-inputs - `(("autoconf" ,autoconf-wrapper) + `(("autoconf" ,autoconf) ("automake" ,automake) ("guile" ,guile-3.0) ("pkg-config" ,pkg-config) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index ddd9158f56..5d005e0378 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -518,6 +518,8 @@ MyPaint.") (mkdir-p target) #t)))))) (native-inputs + ;; avoid ./autogen.sh: ./configure: /bin/sh: bad interpreter: + ;; No such file or directory `(("autoconf" ,autoconf-wrapper) ("automake" ,automake) ("glib" ,glib "bin") ; glib-gettextize @@ -590,7 +592,7 @@ transferring the style of an image.") (format port "for dir in '~a'.split(':'):~%" pythonpath) (format port " site.addsitedir(dir)~%"))))))))) (native-inputs - `(("autoconf" ,autoconf-wrapper) + `(("autoconf" ,autoconf) ("automake" ,automake) ("gtk-doc" ,gtk-doc) ("intltool" ,intltool) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 80e4aba29b..d261f42dcc 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -368,7 +368,7 @@ kinds of basic applications for the foundation of a GNU internet.") "0nqc18jh9j30y4l6yh6j35byfg6qalq7yr3frv9rk10qa041c2sv")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf-wrapper) + ("autoconf" ,autoconf) ("automake" ,automake))) (inputs `(("guile" ,guile-2.0) ("gnunet" ,gnunet))) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index f97dd6c4a7..bb611bdb89 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -695,6 +695,8 @@ PGP keysigning parties.") "1aig5ssabzbk4mih7xd04vgr931bw0flbi8dz902wlr610gyv5s5")))) (build-system gnu-build-system) (native-inputs + ;; autoconf-wrapper is required due to the non-standard + ;; 'configure phase. `(("autoconf" ,autoconf-wrapper) ("automake" ,automake))) (inputs `(("perl" ,perl) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 2e02f6f482..6493fe6048 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -393,7 +393,7 @@ dictionary and suggesting spelling corrections.") (string-append "--libdir=" (assoc-ref %outputs "out") "/lib/bash")))) (native-inputs `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf-wrapper) + ("autoconf" ,autoconf) ("automake" ,automake) ("libtool" ,libtool) ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'. @@ -660,7 +660,7 @@ is not available for Guile 2.0.") "1shmkc0y9r2sj3kw7hrsnamnp7y8xifkhf3m3rnfxczqg63k67vy")))) (build-system gnu-build-system) (native-inputs - `(("autoconf" ,autoconf-wrapper) + `(("autoconf" ,autoconf) ("automake" ,automake) ("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) @@ -1723,7 +1723,7 @@ provides tight coupling to Guix.") #t)))) (build-system gnu-build-system) (native-inputs - `(("autoconf" ,autoconf-wrapper) + `(("autoconf" ,autoconf) ("automake" ,automake) ("texinfo" ,texinfo) ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'. @@ -1856,7 +1856,7 @@ users and in some situations.") "1l6csncjqnx58c6c3wdl7rshnhk4pzhjq2q8lnkg483564s9w5py")))) (build-system gnu-build-system) (native-inputs - `(("autoconf" ,autoconf-wrapper) + `(("autoconf" ,autoconf) ("automake" ,automake) ("gettext" ,gettext-minimal) ("libtool" ,libtool) diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index dab574a155..7109d9a88d 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -115,6 +115,7 @@ limited support for fork events.") '(#:configure-flags '("--disable-static") ;; XXX: Some tests want /dev/tty, attempt to make connections, etc. #:tests? #f)) + ;; TODO replace with autoconf on core-updates (native-inputs `(("autoconf" ,autoconf-wrapper) ("automake" ,automake) ("libtool" ,libtool) diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index 87283f3752..eafc23b2e6 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -99,7 +99,7 @@ staying as close to their API as is reasonable.") #t))))) (native-inputs `(("perl" ,perl) ;for tests - ("autoconf" ,autoconf-wrapper) + ("autoconf" ,autoconf) ("automake" ,automake) ("libtool" ,libtool))) (synopsis "C++ logging library") diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index b02f547e03..239ddb0eb0 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1476,7 +1476,7 @@ useful features.") (sha256 (base32 "0g7an003simfdn7ihg9yjv7hl2czsmjsndjrp39i7cad8icixscn")))) (build-system gnu-build-system) - (native-inputs `(("autoconf" ,autoconf-wrapper) + (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("libtool" ,libtool) ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index a9635d90fe..fbb1a74d09 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -176,6 +176,8 @@ actions.") (setenv "CONFIG_SHELL" (which "sh")) (invoke "sh" "autogen.sh")))))) (native-inputs + ;; autoconf-wrapper is required due to the non-standard + ;; 'autoconf phase. `(("autoconf" ,autoconf-wrapper) ("automake" ,automake) ("intltool" ,intltool) @@ -1201,7 +1203,7 @@ Re-decorates windows on un-maximise. (("dbus-1") "")))))))) (native-inputs `(("automake" ,automake) - ("autoconf" ,autoconf-wrapper) + ("autoconf" ,autoconf) ("gettext" ,gettext-minimal) ("intltool" ,intltool) ("mate-common" ,mate-common) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 49067850c1..6a7285f33e 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -379,7 +379,7 @@ $(prefix)/etc/init.d\n"))) ;; XXX: Keep the development inputs here even though ;; they're unnecessary, just so that 'guix environment ;; guix' always contains them. - ("autoconf" ,autoconf-wrapper) + ("autoconf" ,autoconf) ("automake" ,automake) ("gettext" ,gettext-minimal) ("texinfo" ,texinfo) diff --git a/gnu/packages/sawfish.scm b/gnu/packages/sawfish.scm index 26d8eba3b6..4162fe43cd 100644 --- a/gnu/packages/sawfish.scm +++ b/gnu/packages/sawfish.scm @@ -53,7 +53,7 @@ `(("makeinfo" ,texinfo) ("pkg-config" ,pkg-config) - ("autoconf" ,autoconf-wrapper) + ("autoconf" ,autoconf) ("automake" ,automake) ("libtool" ,libtool))) (inputs diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index eb1c329c1b..dbe042c0d9 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -4265,7 +4265,7 @@ It counts more than 100 plugins.") (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs - `(("autoconf" ,autoconf-wrapper) + `(("autoconf" ,autoconf) ("automake" ,automake) ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/zile.scm b/gnu/packages/zile.scm index 6169815520..c28bc1bdd1 100644 --- a/gnu/packages/zile.scm +++ b/gnu/packages/zile.scm @@ -120,7 +120,7 @@ default Emacs configuration, but it carries a much lighter feature set.") ,@(package-inputs zile))) (native-inputs `(("m4" ,m4) ;for 'bootstrap' - ("autoconf" ,autoconf-wrapper) + ("autoconf" ,autoconf) ("automake" ,automake) ;; For some reason, 'bootstrap' insists on having these. From 966e61fb8f3ae1313545db7ed9994bc290666ee9 Mon Sep 17 00:00:00 2001 From: qblade Date: Sun, 7 Mar 2021 02:31:07 +0000 Subject: [PATCH 0761/1003] gnu: Add libucl. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wm.scm (libucl): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/wm.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 9c5938bd87..3d85392394 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -43,6 +43,7 @@ ;;; Copyright © 2020 Robert Smith ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2021 Sharlatan Hellseher +;;; Copyright © 2021 qblade ;;; ;;; This file is part of GNU Guix. ;;; @@ -2371,3 +2372,31 @@ shows a notification for the user on the screen.") for wayland conceptually based on the X11 window manager @command{ratpoison}.") (license license:expat))) + +(define-public libucl + (package + (name "libucl") + (version "0.8.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vstakhov/libucl/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1h52ldxankyhbbm1qbqz1f2q0j03c1b4mig7343bs3mc6fpm18gf")))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config) + ("libtool" ,libtool))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f)) ;; no tests + (home-page "https://github.com/vstakhov/libucl") + (synopsis "Universal configuration language (UCL) parser") + (description "libucl implements a configuration language that is easy to +read and write, and compatible with JSON.") + (license license:bsd-2))) From 806125e52f1b94f8eff74daecc5306b5934bb616 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 17 Mar 2021 23:10:22 +0000 Subject: [PATCH 0762/1003] weather: Only show request statistics when requests were made. This avoids the script crashing if all data is fetched from the cache. * guix/scripts/weather.scm (report-server-coverage): Only show request statistics when some requests have been made. --- guix/scripts/weather.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/guix/scripts/weather.scm b/guix/scripts/weather.scm index 349052459c..5164fe0494 100644 --- a/guix/scripts/weather.scm +++ b/guix/scripts/weather.scm @@ -212,10 +212,11 @@ Return the coverage ratio, an exact number between 0 and 1." total))))) (format #t (G_ " ~,1h MiB on disk (uncompressed)~%") (/ (reduce + 0 (map narinfo-size narinfos)) MiB)) - (format #t (G_ " ~,3h seconds per request (~,1h seconds in total)~%") - (/ time requests-made 1.) time) - (format #t (G_ " ~,1h requests per second~%") - (/ requests-made time 1.)) + (when (> requests-made 0) + (format #t (G_ " ~,3h seconds per request (~,1h seconds in total)~%") + (/ time requests-made 1.) time) + (format #t (G_ " ~,1h requests per second~%") + (/ requests-made time 1.))) (guard (c ((http-get-error? c) (if (= 404 (http-get-error-code c)) From aacfbb8c243026e55a9c484dfcdd824fcd37bab6 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 17 Mar 2021 14:48:08 -0400 Subject: [PATCH 0763/1003] gnu: linux-libre: Update to 5.11.7. * gnu/packages/linux.scm (linux-libre-5.11-version): Update to 5.11.7. (linux-libre-5.11-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 80168c8ae9..b917e5938e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -354,7 +354,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-5.11-version "5.11.6") +(define-public linux-libre-5.11-version "5.11.7") (define deblob-scripts-5.11 (linux-libre-deblob-scripts linux-libre-5.11-version @@ -362,7 +362,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0yvr80g200hdryz54gdnzj4fl38pf7g4qbgj475rhcfwixhp1j7n"))) (define-public linux-libre-5.11-pristine-source (let ((version linux-libre-5.11-version) - (hash (base32 "02dcq7cqll5c39z8dh9f0xy68hh4a8jsab5k4n9calfldrm7jw79"))) + (hash (base32 "1cd87v6j8nk89pjqqsaviyzx9lj0d51j46n1in7cjlg18wng3da9"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.11))) From e0dcafc1c25d47d24e18f3cd262ab5d53ad94394 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 17 Mar 2021 14:52:27 -0400 Subject: [PATCH 0764/1003] gnu: linux-libre 5.10: Update to 5.10.24. * gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.24. (linux-libre-5.10-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b917e5938e..47f6dbf29c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -370,7 +370,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; -(define-public linux-libre-5.10-version "5.10.23") +(define-public linux-libre-5.10-version "5.10.24") (define deblob-scripts-5.10 (linux-libre-deblob-scripts linux-libre-5.10-version @@ -378,7 +378,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0hh27ccqimagr3aij7ygwikxw66y63sqwd0xlf49bhpjd090r9a7"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "0snvkrs95wbx611kcnap59whfiz6h6mzsnbwswk5py3gxh1irqpn"))) + (hash (base32 "0gvnplip90gvlzw9rm0cg66z54cfa82gk23icf5xdickb17d1p66"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) From 1de35e80360dddf0a39ce10c9c8b7763ee5bf92b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 17 Mar 2021 14:52:49 -0400 Subject: [PATCH 0765/1003] gnu: linux-libre 5.4: Update to 5.4.106. * gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.106. (linux-libre-5.4-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 47f6dbf29c..d992410168 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -383,7 +383,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.105") +(define-public linux-libre-5.4-version "5.4.106") (define deblob-scripts-5.4 (linux-libre-deblob-scripts linux-libre-5.4-version @@ -391,7 +391,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1dmq1zkr4idbbvh7wln5hn5sl4d0mcfm1af5bvsmsa44c78lqki4"))) + (hash (base32 "1ny8b69ngydh0iw53jwlmqlgv31wjhkybkgnqi5kv0n174n3p1yc"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) From 1ff0377a529714538f4a483dd0aee180f0572a8f Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 17 Mar 2021 14:53:09 -0400 Subject: [PATCH 0766/1003] gnu: linux-libre 4.19: Update to 4.19.181. * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.181. (linux-libre-4.19-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index d992410168..8b6f2aab3a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -396,7 +396,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.180") +(define-public linux-libre-4.19-version "4.19.181") (define deblob-scripts-4.19 (linux-libre-deblob-scripts linux-libre-4.19-version @@ -404,7 +404,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0pxvnyhbcmbbkdrqsrf5hhaz36x9l07s0xmzrmc4ipcdhdy5va0x"))) + (hash (base32 "1kd967azsq6w41ch8iwpv0i4yjkpijzn5avcipi1141dx4ryw62j"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) From d72347deecec2f3409de1f4556eab66fcbc6fe21 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 17 Mar 2021 14:53:27 -0400 Subject: [PATCH 0767/1003] gnu: linux-libre 4.14: Update to 4.14.226. * gnu/packages/linux.scm (linux-libre-4.14-version): Update to 4.14.226. (linux-libre-4.14-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 8b6f2aab3a..28f934def1 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -409,7 +409,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.225") +(define-public linux-libre-4.14-version "4.14.226") (define deblob-scripts-4.14 (linux-libre-deblob-scripts linux-libre-4.14-version @@ -417,7 +417,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "09kik0jbfpijb4kylayphr8r2qxx4rlgsnmq300wzcjhxw5yxy3c"))) + (hash (base32 "09llp8jl5xgxxzj0f2sfx32annwyz82k1zmgd26zy90lz0d09p3s"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) From c3504337cccfaa48fd1b5037c8ad72693236304b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 17 Mar 2021 14:53:43 -0400 Subject: [PATCH 0768/1003] gnu: linux-libre 4.9: Update to 4.9.262. * gnu/packages/linux.scm (linux-libre-4.9-version): Update to 4.9.262. (linux-libre-4.9-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 28f934def1..b3ff734f4b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -422,7 +422,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.261") +(define-public linux-libre-4.9-version "4.9.262") (define deblob-scripts-4.9 (linux-libre-deblob-scripts linux-libre-4.9-version @@ -430,7 +430,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "0r5822mj2gk9s8rbc8bazg34y8bwr7svn3nbgcq57y2qch8nych4"))) + (hash (base32 "1zq77x9zf1wbk8n17rnblm5lfwlkin1xnxb3sxirwb9njm07cbmj"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) From 334c6850c64b3f037bc2a25bf9d184a2cf2c609b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 17 Mar 2021 14:53:57 -0400 Subject: [PATCH 0769/1003] gnu: linux-libre 4.4: Update to 4.4.262. * gnu/packages/linux.scm (linux-libre-4.4-version): Update to 4.4.262. (linux-libre-4.4-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b3ff734f4b..d932c3583a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -435,7 +435,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.261") +(define-public linux-libre-4.4-version "4.4.262") (define deblob-scripts-4.4 (linux-libre-deblob-scripts linux-libre-4.4-version @@ -443,7 +443,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "0d9j4j72n8fl3s93qm82cydwk8lvwhvl2357rcsai2vsk5l0k1mc"))) + (hash (base32 "0yz9qi4i46ndshxmb99kvv7lk6cbb09y7bzagq7sgvqaj4lwaw6j"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) From 2e0ff59f0cd836b156f1ef2e78791d864ce3cfcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Thu, 18 Mar 2021 11:13:18 +0100 Subject: [PATCH 0770/1003] gnu: imagemagick/fixed: Redirect old sonames to new sonames. * gnu/packages/imagemagick.scm (imagemagick/fixed)[arguments]: Add 'fix-compat-cheat-rename-so phase to redirect old soname paths (expected without grafting) to new sonames introduced by ImageMagick 6.9.12-0 and later. These sonames are probably not forward compatible but most probably backwards compatible so it should suffice until we remove the graft. --- gnu/packages/imagemagick.scm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 9ac15361b4..a3562f2e13 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -143,7 +143,29 @@ text, lines, polygons, ellipses and Bézier curves.") "6.9.12-2.tar.xz")) (sha256 (base32 - "17da5zihz58qm41y61sbvw626m5xfwr2nzszlikrvxyq1j1q7asa")))))) + "17da5zihz58qm41y61sbvw626m5xfwr2nzszlikrvxyq1j1q7asa")))) + (arguments + (substitute-keyword-arguments (package-arguments imagemagick) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'fix-compat-cheat-rename-so + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion + (string-append (assoc-ref outputs "out") + "/lib") + (symlink "libMagick++-6.Q16.so.9.0.0" + "libMagick++-6.Q16.so.8.0.0") + (symlink "libMagick++-6.Q16.so.9" + "libMagick++-6.Q16.so.8") + (symlink "libMagickCore-6.Q16.so.7.0.0" + "libMagickCore-6.Q16.so.6.0.0") + (symlink "libMagickCore-6.Q16.so.7" + "libMagickCore-6.Q16.so.6") + (symlink "libMagickWand-6.Q16.so.7.0.0" + "libMagickWand-6.Q16.so.6.0.0") + (symlink "libMagickWand-6.Q16.so.7" + "libMagickWand-6.Q16.so.6")) + #t)))))))) (define-public perl-image-magick (package From 45695cc8a7b56b711baf664ceedaa66124d6de26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Thu, 18 Mar 2021 11:26:11 +0100 Subject: [PATCH 0771/1003] Revert "gnu: python2-urllib3: Update to 1.26.4 [fixes CVE-2021-28363]." In response to commit 1a265842e634656411bc7304c4648273f174f65e we should no longer need this. Also see . This reverts commit db87d6ddafd26c5ad657178cf7fdab524d05c522. --- gnu/packages/python-web.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index c79b4eb937..0f67046f75 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -2766,7 +2766,7 @@ supports url redirection and retries, and also gzip and deflate decoding.") (define-public python2-urllib3 - (let ((base (package-with-python2 (strip-python2-variant python-urllib3/fixed)))) + (let ((base (package-with-python2 (strip-python2-variant python-urllib3)))) (package/inherit base (propagated-inputs From 898489f48e436e45e86e1ba0fcdb6df5cd5a051a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 16 Mar 2021 21:36:36 -0400 Subject: [PATCH 0772/1003] services: Enable "protected hardlinks" and "protected symlinks" by default. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit References: https://sysctl-explorer.net/fs/protected_hardlinks/ https://sysctl-explorer.net/fs/protected_symlinks/ * gnu/services/sysctl.scm (%default-sysctl-settings): New public variable. (): Use %default-sysctl-settings as the default value. * gnu/services/base.scm (%base-services): Add sysctl-service-type. * doc/guix.texi (Miscellaneous Services): Document the new defaults. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 22 +++++++++++++++++++++- gnu/services/base.scm | 3 +++ gnu/services/sysctl.scm | 10 ++++++++-- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 0a70ac7f11..73757be887 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -31378,6 +31378,21 @@ instantiated as: (sysctl-configuration (settings '(("net.ipv4.ip_forward" . "1"))))) @end lisp + +Since @code{sysctl-service-type} is used in the default lists of +services, @code{%base-services} and @code{%desktop-services}, you can +use @code{modify-services} to change its configuration and add the +kernel parameters that you want (@pxref{Service Reference, +@code{modify-services}}). + +@lisp +(modify-services %base-services + (sysctl-service-type config => + (sysctl-configuration + (settings (append '(("net.ipv4.ip_forward" . "1")) + %default-sysctl-settings))))) +@end lisp + @end defvr @deftp {Data Type} sysctl-configuration @@ -31387,11 +31402,16 @@ The data type representing the configuration of @command{sysctl}. @item @code{sysctl} (default: @code{(file-append procps "/sbin/sysctl"}) The @command{sysctl} executable to use. -@item @code{settings} (default: @code{'()}) +@item @code{settings} (default: @code{%default-sysctl-settings}) An association list specifies kernel parameters and their values. @end table @end deftp +@defvr {Scheme Variable} %default-sysctl-settings +An association list specifying the default @command{sysctl} parameters +on Guix System. +@end defvr + @cindex pcscd @subsubheading PC/SC Smart Card Daemon Service diff --git a/gnu/services/base.scm b/gnu/services/base.scm index f6a490f712..f50bcfdcb4 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -35,6 +35,7 @@ #:use-module (gnu services) #:use-module (gnu services admin) #:use-module (gnu services shepherd) + #:use-module (gnu services sysctl) #:use-module (gnu system pam) #:use-module (gnu system shadow) ; 'user-account', etc. #:use-module (gnu system uuid) @@ -2532,6 +2533,8 @@ to handle." (udev-configuration (rules (list lvm2 fuse alsa-utils crda)))) + (service sysctl-service-type) + (service special-files-service-type `(("/bin/sh" ,(file-append bash "/bin/sh")) ("/usr/bin/env" ,(file-append coreutils "/bin/env")))))) diff --git a/gnu/services/sysctl.scm b/gnu/services/sysctl.scm index eb7a61b2a9..aaea7cc30d 100644 --- a/gnu/services/sysctl.scm +++ b/gnu/services/sysctl.scm @@ -25,20 +25,26 @@ #:use-module (srfi srfi-1) #:use-module (ice-9 match) #:export (sysctl-configuration - sysctl-service-type)) + sysctl-service-type + %default-sysctl-settings)) ;;; ;;; System Control Service. ;;; +(define %default-sysctl-settings + ;; Default kernel parameters enabled with sysctl. + '(("fs.protected_hardlinks" . "1") + ("fs.protected_symlinks" . "1"))) + (define-record-type* sysctl-configuration make-sysctl-configuration sysctl-configuration? (sysctl sysctl-configuration-sysctl ; path of the 'sysctl' command (default (file-append procps "/sbin/sysctl"))) (settings sysctl-configuration-settings ; alist of string pairs - (default '()))) + (default %default-sysctl-settings))) (define (sysctl-configuration-settings->sysctl.conf settings) "Return a file for @command{sysctl} to set kernel parameters as specified by From ec7fb669945bfb47c5e1fdf7de3a5d07f7002ccf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 18 Mar 2021 11:39:39 +0100 Subject: [PATCH 0773/1003] daemon: Prevent privilege escalation with '--keep-failed' [security]. Fixes . Reported by Nathan Nye of WhiteBeam Security. * nix/libstore/build.cc (DerivationGoal::startBuilder): When 'useChroot' is true, add "/top" to 'tmpDir'. (DerivationGoal::deleteTmpDir): Adjust accordingly. When 'settings.keepFailed' is true, chown in two steps: first the "/top" sub-directory, and then rename "/top" to its parent. --- nix/libstore/build.cc | 43 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc index 20d83fea4a..4f486f0822 100644 --- a/nix/libstore/build.cc +++ b/nix/libstore/build.cc @@ -1621,6 +1621,24 @@ void DerivationGoal::startBuilder() auto drvName = storePathToName(drvPath); tmpDir = createTempDir("", "guix-build-" + drvName, false, false, 0700); + if (useChroot) { + /* Make the build directory seen by the build process a sub-directory. + That way, "/tmp/guix-build-foo.drv-0" is root-owned, and thus its + permissions cannot be changed by the build process, while + "/tmp/guix-build-foo.drv-0/top" is owned by the build user. This + cannot be done when !useChroot because then $NIX_BUILD_TOP would + be inaccessible to the build user by its full file name. + + If the build user could make the build directory world-writable, + then an attacker could create in it a hardlink to a root-owned file + such as /etc/shadow. If 'keepFailed' is true, the daemon would + then chown that hardlink to the user, giving them write access to + that file. */ + tmpDir += "/top"; + if (mkdir(tmpDir.c_str(), 0700) == 1) + throw SysError("creating top-level build directory"); + } + /* In a sandbox, for determinism, always use the same temporary directory. */ tmpDirInSandbox = useChroot ? canonPath("/tmp", true) + "/guix-build-" + drvName + "-0" : tmpDir; @@ -2626,20 +2644,41 @@ static void _chown(const Path & path, uid_t uid, gid_t gid) void DerivationGoal::deleteTmpDir(bool force) { if (tmpDir != "") { + // When useChroot is true, tmpDir looks like + // "/tmp/guix-build-foo.drv-0/top". Its parent is root-owned. + string top; + if (useChroot) { + if (baseNameOf(tmpDir) != "top") abort(); + top = dirOf(tmpDir); + } else top = tmpDir; + if (settings.keepFailed && !force) { printMsg(lvlError, format("note: keeping build directory `%2%'") - % drvPath % tmpDir); + % drvPath % top); chmod(tmpDir.c_str(), 0755); + // Change the ownership if clientUid is set. Never change the // ownership or the group to "root" for security reasons. if (settings.clientUid != (uid_t) -1 && settings.clientUid != 0) { _chown(tmpDir, settings.clientUid, settings.clientGid != 0 ? settings.clientGid : -1); + + if (top != tmpDir) { + // Rename tmpDir to its parent, with an intermediate step. + string pivot = top + ".pivot"; + if (rename(top.c_str(), pivot.c_str()) == -1) + throw SysError("pivoting failed build tree"); + if (rename((pivot + "/top").c_str(), top.c_str()) == -1) + throw SysError("renaming failed build tree"); + rmdir(pivot.c_str()); + } } } - else + else { deletePath(tmpDir); + if (top != tmpDir) rmdir(dirOf(tmpDir).c_str()); + } tmpDir = ""; } } From 94f03125463ee0dba2f7916fcd43fd19d4b6c892 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 18 Mar 2021 12:32:03 +0100 Subject: [PATCH 0774/1003] gnu: guix: Update to ec7fb66 [security]. This updates the 'guix' package so that it provides the fix for . * gnu/packages/package-management.scm (guix): Update to ec7fb66. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 6a7285f33e..f45c2f65e3 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -132,8 +132,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.2.0") - (commit "c8887a5c6e8f6a19d54ffa428c6fe88a797b867a") - (revision 16)) + (commit "ec7fb669945bfb47c5e1fdf7de3a5d07f7002ccf") + (revision 17)) (package (name "guix") @@ -149,7 +149,7 @@ (commit commit))) (sha256 (base32 - "1fhli6h196chkd8b5j2qcyq5kj7pniw5n03jd502jm7kjzvkw18p")) + "1v9pwsqx8n4l6f7aj9vxv6m7vb4lyw8j5qg6mxf5zksia0qlcv2z")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments From 1955ef93b76e51cab5bed4c90f7eb9df7035355a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 18 Mar 2021 12:34:02 +0100 Subject: [PATCH 0775/1003] news: Add entry for '--keep-failed' vulnerability. * etc/news.scm: Add entry. --- etc/news.scm | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/etc/news.scm b/etc/news.scm index 6a968eb856..2b7f6b3836 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -20,6 +20,64 @@ (channel-news (version 0) + (entry (commit "ec7fb669945bfb47c5e1fdf7de3a5d07f7002ccf") + (title + (en "Risk of local privilege escalation @i{via} @command{guix-daemon}") + (fr "Risque d'élévation locale de privilèges @i{via} @command{guix-daemon}")) + (body + (en "A security vulnerability that can lead to local privilege +escalation has been found in @command{guix-daemon}. It affects multi-user +setups in which @command{guix-daemon} runs locally. + +It does @emph{not} affect multi-user setups where @command{guix-daemon} runs +on a separate machine and is accessed over the network, @i{via} +@env{GUIX_DAEMON_SOCKET}, as is customary on cluster setups. Machines where +the Linux @uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt, +``protected hardlink''} feature is enabled, which is common, are also +unaffected---this is the case when the contents of +@file{/proc/sys/fs/protected_hardlinks} are @code{1}. + +The attack consists in having an unprivileged user spawn a build process, for +instance with @command{guix build}, that makes its build directory +world-writable. The user then creates a hardlink within the build directory +to a root-owned file from outside of the build directory, such as +@file{/etc/shadow}. If the user passed the @option{--keep-failed} option and +the build eventually fails, the daemon changes ownership of the whole build +tree, including the hardlink, to the user. At that point, the user has write +access to the target file. + +You are advised to upgrade @command{guix-daemon}. Run @command{info \"(guix) +Upgrading Guix\"}, for info on how to do that. See +@uref{https://issues.guix.gnu.org/47229} for more information on this bug.") + (fr "Une faille de sécurité pouvant mener à une élévation locale de +privilèges a été trouvée dans @command{guix-daemon}. Elle touche les +installations multi-utilisateur·ices dans lesquelles @command{guix-daemon} +tourne en local. + +Elle @emph{n'affecte pas} les installations où @command{guix-daemon} tourne +sur une machine séparée et qu'on y accède à travers le réseau, @i{via} +@env{GUIX_DAEMON_SOCKET}, comme c'est typiquement le cas sur les grappes de +calcul (@i{clusters}). Les machines où les +@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt, ``liens +protégés''} de Linux sont activés, ce qui est courant, ne sont pas non plus +touchées ; cette fonctionnalité est activée si le contenu de +@file{/proc/sys/fs/protected_hardlinks} est @code{1}. + +Pour mener cette attaque, un·e utilisateur·rice démarre un processus de +compilation, par exemple avec @command{guix build}, qui rend le répertoire de +compilation inscriptible pour tout le monde. La personne créée ensuite un +lien dur (@i{hard link}) dans ce répertoire vers un fichier appartenant à +@code{root}, tel que @file{/etc/shadow}. Si on a passé l'option +@option{--keep-failed} et que la compilation finit par échouer, le démon met +l'utilisateur·rice appelant·e comme propriétaire de l'ensemble du répertoire +de compilation, y compris le lien. À ce stade, cette personne a accès en +écriture sur le fichier cible. + +Nous conseillons de mettre à jour @command{guix-daemon}. Lancer @command{info +\"(guix.fr) Mettre à niveau Guix\"} pour voir comment faire. Voir +@uref{https://issues.guix.gnu.org/47229} pour plus d'informations sur cette +faille."))) + (entry (commit "77c2f4e2068ebec3f384c826c5a99785125ff72c") (title (en "@code{qemu-binfmt-service-type} is usable for any container") From 9783645ee8eaf9c33ce952131e692fb2ff47ffc9 Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Thu, 18 Mar 2021 15:03:21 +0100 Subject: [PATCH 0776/1003] =?UTF-8?q?news:=20Add=20=E2=80=98de=E2=80=99=20?= =?UTF-8?q?translation.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- etc/news.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/etc/news.scm b/etc/news.scm index 2b7f6b3836..467f671c51 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -23,6 +23,7 @@ (entry (commit "ec7fb669945bfb47c5e1fdf7de3a5d07f7002ccf") (title (en "Risk of local privilege escalation @i{via} @command{guix-daemon}") + (de "Risiko lokaler Rechteausweitung über @command{guix-daemon}") (fr "Risque d'élévation locale de privilèges @i{via} @command{guix-daemon}")) (body (en "A security vulnerability that can lead to local privilege @@ -49,6 +50,34 @@ access to the target file. You are advised to upgrade @command{guix-daemon}. Run @command{info \"(guix) Upgrading Guix\"}, for info on how to do that. See @uref{https://issues.guix.gnu.org/47229} for more information on this bug.") + (de "Eine Sicherheitslücke, die zu einer lokalen Rechteausweitung +führen kann, wurde in @command{guix-daemon} gefunden. Sie betrifft +Mehrbenutzersysteme, auf denen @command{guix-daemon} lokal läuft. + +@emph{Nicht} betroffen sind Mehrbenutzersysteme, auf denen +@command{guix-daemon} auf einer separaten Maschine läuft und darauf über das +Netzwerk mittels @env{GUIX_DAEMON_SOCKET} zugegriffen wird, was auf +Rechen-Clustern üblich ist. Auch Maschinen, auf denen Linux’ +@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt, +„Geschützte-Hardlinks“-Funktionalität} aktiviert ist@tie{}– was häufig der +Fall ist@tie{}–, sind nicht betroffen; sie ist aktiviert, wenn +@file{/proc/sys/fs/protected_hardlinks} den Inhalt @code{1} hat. + +Der Angriff besteht darin, dass ein unprivilegierter Benutzer einen +Erstellungsprozess startet, etwa mit @command{guix build}, der allen +Schreibberechtigung auf sein Erstellungsverzeichnis erteilt. In diesem +Erstellungsverzeichnis erzeugt der Benutzer nun eine harte Verknüpfung auf +eine Datei außerhalb des Erstellungsverzeichnisses, die dem +Administratornutzer root gehört, etwa @file{/etc/shadow}. Wenn der Nutzer die +Befehlszeilenoption @option{--keep-failed} angegeben hat und die Erstellung +irgendwann fehlschlägt, trägt der Daemon als Besitzer des gesamten +Erstellungsverzeichnisses den Benutzer ein, Hardlink eingeschlossen. Jetzt +hat der Benutzer Schreibzugriff auf die Zieldatei bekommen. + +Wir empfehlen, dass Sie @command{guix-daemon} aktualisieren. Führen Sie +@command{info \"(guix.de) Aktualisieren von Guix\"} aus, um zu erfahren, wie +Sie ihn aktualisieren können. Siehe @uref{https://issues.guix.gnu.org/47229} +für mehr Informationen zu diesem Fehler.") (fr "Une faille de sécurité pouvant mener à une élévation locale de privilèges a été trouvée dans @command{guix-daemon}. Elle touche les installations multi-utilisateur·ices dans lesquelles @command{guix-daemon} From 000e27b3d78d6408ce93ab2116737757655d6e9b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 18 Mar 2021 15:30:49 +0100 Subject: [PATCH 0777/1003] gnu: bind: Update to 9.16.13. * gnu/packages/dns.scm (isc-bind): Update to 9.16.13. --- gnu/packages/dns.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index bb19175b1a..5d0d9f8396 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -319,7 +319,7 @@ and BOOTP/TFTP for network booting of diskless machines.") ;; When updating, check whether isc-dhcp's bundled copy should be as well. ;; The BIND release notes are available here: ;; https://www.isc.org/bind/ - (version "9.16.12") + (version "9.16.13") (source (origin (method url-fetch) (uri (string-append @@ -327,7 +327,7 @@ and BOOTP/TFTP for network booting of diskless machines.") "/bind-" version ".tar.xz")) (sha256 (base32 - "0zys8hk08zzrw57x0vmzv6zx0a7vjj6qk5qh8jmrqd7x269sy54r")))) + "026cliyj570wxvvij96mrzsxyf421xv9a80gc5gv6savza9wfk55")))) (build-system gnu-build-system) (outputs `("out" "utils")) (inputs From 2baae75e82c58fc83f1ec4ff3131f37b8a7289bc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 18 Mar 2021 15:39:34 +0100 Subject: [PATCH 0778/1003] gnu: isc-dhcp: Update bundled bind to 9.11.29. * gnu/packages/admin.scm (isc-dhcp)[inputs]: Update bundled bind to 9.11.29. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 407ab4165c..e25693430c 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1044,7 +1044,7 @@ connection alive.") (define-public isc-dhcp (let* ((bind-major-version "9") (bind-minor-version "11") - (bind-patch-version "28") + (bind-patch-version "29") (bind-release-type "") ; for patch release, use "-P" (bind-release-version "") ; for patch release, e.g. "6" (bind-version (string-append bind-major-version @@ -1181,7 +1181,7 @@ connection alive.") "/bind-" bind-version ".tar.gz")) (sha256 (base32 - "0x2yjy0d8p7i5mr2s5y65fdax0jjgvd8fn07s42c8dxsrbkcp40h")))) + "01vvkvlhsxz4ffz2fw86z0fsf170b93jjnn5710ai6vfri8wgfy7")))) ("coreutils*" ,coreutils) ("sed*" ,sed))) From e999ea12ea7813a7b46d1e3d965894ffff8f230d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 18 Mar 2021 15:40:22 +0100 Subject: [PATCH 0779/1003] gnu: di: Update to 4.49. * gnu/packages/admin.scm (di): Update to 4.49. [source]: Update URL. --- gnu/packages/admin.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index e25693430c..d5cb9bf8e5 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -2923,13 +2923,13 @@ a new command using the matched rule, and runs it.") (define-public di (package (name "di") - (version "4.48.0.1") + (version "4.49") (source (origin (method url-fetch) - (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz")) + (uri (string-append "mirror://sourceforge/diskinfo-di/di-" version ".tar.gz")) (sha256 - (base32 "0rxli3bcm6vlcfx2jminviv8aawwczrpp9kja5zniawy6528al30")))) + (base32 "1y38jhp2bpwbwzdzjlhgfqc7bxxz9cwapxd61799zjf54jkslkf0")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; obscure test failures From d9bdd6fa928945e697d11a36678cfdedf45e39f5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 18 Mar 2021 15:45:17 +0100 Subject: [PATCH 0780/1003] gnu: goffice: Update to 0.10.49. * gnu/packages/gnome.scm (goffice): Update to 0.10.49. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index adb036d5e5..34cd0fa992 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -4134,14 +4134,14 @@ Hints specification (EWMH).") (define-public goffice (package (name "goffice") - (version "0.10.48") + (version "0.10.49") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/goffice/" (version-major+minor version) "/" "goffice-" version ".tar.xz")) (sha256 - (base32 "1z6f3q8fxkd1ysqrwdxdi0844zqa00vjpf07gq8mh3kal8picfd4")))) + (base32 "1s87ngs3g3nfvcn96aq4lgzx5cscbfg4n9f6ns2zpvc5ngdiiz2z")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 4.0 MiB of gtk-doc From c2265e0285f82ac32b77116e6c1b476461241390 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 18 Mar 2021 15:45:26 +0100 Subject: [PATCH 0781/1003] gnu: elixir: Update to 1.11.4. * gnu/packages/elixir.scm (elixir): Update to 1.11.4. --- gnu/packages/elixir.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm index 389b2bb29c..b87337855f 100644 --- a/gnu/packages/elixir.scm +++ b/gnu/packages/elixir.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016, 2017 Pjotr Prins ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2017 nee -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice ;;; Copyright © 2018 Nikita ;;; Copyright © 2021 Oskar Köök ;;; @@ -34,7 +34,7 @@ (define-public elixir (package (name "elixir") - (version "1.11.3") + (version "1.11.4") (source (origin (method git-fetch) @@ -43,7 +43,7 @@ (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0ivah4117z75pinvb3gr22d05ihfwcdgw5zvvpv7kbgiqaj8ma8f")) + (base32 "1y8fbhli29agf84ja0fwz6gf22a46738b50nwy26yvcl2n2zl9d8")) (patches (search-patches "elixir-path-length.patch")))) (build-system gnu-build-system) (arguments From b6df89efb03b0db7f74dd3c49ec233dd5ae14514 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 18 Mar 2021 15:54:43 +0100 Subject: [PATCH 0782/1003] gnu: dhewm3: Update to 1.5.1. * gnu/packages/game-development.scm (dhewm3): Update to 1.5.1. --- gnu/packages/game-development.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 6d88c3d73b..ea879568f5 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -2394,7 +2394,7 @@ game engine. id Tech 2 is the engine originally behind Quake 2.") (define-public dhewm3 (package (name "dhewm3") - (version "1.5.0") + (version "1.5.1") (source (origin (method url-fetch) (uri (string-append @@ -2402,7 +2402,7 @@ game engine. id Tech 2 is the engine originally behind Quake 2.") version "/dhewm3-" version "-src.tar.xz")) (sha256 (base32 - "0dmd1876az5q8gbjrd1jk8zidz11ydj607z3m8m5kvw2yj136jzv")))) + "0s2brx6wyljhjbpli97iy4lc4fqqsvdc09raz8njg0vgzcsiyrri")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No tests. From 6ce80c900810e692150d168eddeae4d7de935488 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 18 Mar 2021 17:07:18 +0100 Subject: [PATCH 0783/1003] =?UTF-8?q?news:=20Add=20=E2=80=98nl=E2=80=99=20?= =?UTF-8?q?translation.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * etc/news.scm (channel-news): Add a Dutch translation. --- etc/news.scm | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/etc/news.scm b/etc/news.scm index 467f671c51..8d48d20e3b 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -24,7 +24,8 @@ (title (en "Risk of local privilege escalation @i{via} @command{guix-daemon}") (de "Risiko lokaler Rechteausweitung über @command{guix-daemon}") - (fr "Risque d'élévation locale de privilèges @i{via} @command{guix-daemon}")) + (fr "Risque d'élévation locale de privilèges @i{via} @command{guix-daemon}") + (nl "Risico op escalatie van bevoegdheden via @command{guix-daemon}")) (body (en "A security vulnerability that can lead to local privilege escalation has been found in @command{guix-daemon}. It affects multi-user @@ -105,7 +106,33 @@ de compilation, y compris le lien. À ce stade, cette personne a accès en Nous conseillons de mettre à jour @command{guix-daemon}. Lancer @command{info \"(guix.fr) Mettre à niveau Guix\"} pour voir comment faire. Voir @uref{https://issues.guix.gnu.org/47229} pour plus d'informations sur cette -faille."))) +faille.") + (nl "In @command{guix-daemon} werd een beveiligingsprobleem +gevonden dat kan leiden tot de escalatie van locale bevoegdheden. Het +probleem doet zich voor bij installaties met meerdere gebruikers waarop een +lokale @command{guix-daemon} draait. + +Het heeft @emph{geen} invloed op systemen met meerdere gebruikers waarbij de +@command{guix-daemon} op een afzonderlijke machine draait en via +@env{GUIX_DAEMON_SOCKET} over het netwerk wordt aangesproken, zoals +gebruikelijk bij computerclusters. Ook machines waarop de +@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt, +``protected hardlink''}-optie van Linux is inschakeld, wat vaak het geval is, +zijn niet kwetsbaar. + +De aanval bestaat erin dat een gebruiker zonder privileges een bouwproces +opstart, bijvoorbeeld met @command{guix build}, dat zijn werkmap beschrijfbaar +maakt voor alle gebruikers. Vervolgens maakt de gebruiker vanuit deze map een +harde link naar een bestand erbuiten met @code{root} als eigenaar, zoals +@file{/etc/shadow}. Als de gebruiker de @option{--keep-failed}-optie opgaf +en de bouw faalt, maakt @command{guix-daemon} de gebruiker eigenaar van de +volledige inhoud van de werkmap, met inbegrip van de harde link. Op dat +moment bezit de gebruiker schrijfrechten over het doelbestand. + +Het is aangeraden om @command{guix-daemon} op te waarderen. Voer +@command{info \"(guix) Upgrading Guix\"} uit voor meer informatie daarover. +Lees @uref{https://issues.guix.gnu.org/47229} voor meer informatie over het +probleem."))) (entry (commit "77c2f4e2068ebec3f384c826c5a99785125ff72c") (title From bfaeee56756ae31957fa62a1f2d489172d596d4b Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 18 Mar 2021 17:35:22 +0100 Subject: [PATCH 0784/1003] gnu: emacs-leaf: Update to 4.4.4. * gnu/packages/emacs-xyz.scm (emacs-leaf): Update to 4.4.4. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 4ff97eab3b..d9c6b976a7 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -12118,14 +12118,14 @@ performance-oriented and tidy.") (define-public emacs-leaf (package (name "emacs-leaf") - (version "4.4.0") + (version "4.4.4") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "leaf-" version ".tar")) (sha256 - (base32 "0wgf3ksrk6b77fvy3sr9hqazq0snbvqyrrql6v1hryqjfq5nwfx7")))) + (base32 "1npg06zmy21kg2qsqgfm03l7vjib697i96awypcdb0hw5mvmc1a1")))) (build-system emacs-build-system) (home-page "https://github.com/conao3/leaf.el") (synopsis "Simplify your init.el configuration, extended use-package") From a12de215e3e744e2fc4cbb33ca0b2a7b48c22405 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 18 Mar 2021 17:39:22 +0100 Subject: [PATCH 0785/1003] =?UTF-8?q?news:=20Fix=20=E2=80=98nl=E2=80=99=20?= =?UTF-8?q?typo.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * etc/news.scm (channel-news): This locale's ‘locale’'s ‘lokale’. --- etc/news.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/news.scm b/etc/news.scm index 8d48d20e3b..3c604b0d23 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -108,7 +108,7 @@ Nous conseillons de mettre à jour @command{guix-daemon}. Lancer @command{info @uref{https://issues.guix.gnu.org/47229} pour plus d'informations sur cette faille.") (nl "In @command{guix-daemon} werd een beveiligingsprobleem -gevonden dat kan leiden tot de escalatie van locale bevoegdheden. Het +gevonden dat kan leiden tot de escalatie van lokale bevoegdheden. Het probleem doet zich voor bij installaties met meerdere gebruikers waarop een lokale @command{guix-daemon} draait. From a398e06cadc8f76759eed3942729a580cba9b79b Mon Sep 17 00:00:00 2001 From: Morgan Smith Date: Sun, 14 Mar 2021 17:22:34 -0400 Subject: [PATCH 0786/1003] gnu: emacs-flymake-shellcheck: Update to 0.1-1.ac534e9 * gnu/packages/emacs-xyz.scm (emacs-flymake-shellcheck): Update to 0.1-1.ac534e9 Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index d9c6b976a7..28400c0573 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -1306,8 +1306,8 @@ provides an optional IDE-like error list.") (define-public emacs-flymake-shellcheck ;; No tag, version grabbed from source .el file. - (let ((commit "78956f0e5bb9c4d35989657a55929e8e3f5691e6") - (revision "0")) + (let ((commit "ac534e9ef15c82ac86ae65fe5004d29dbc8c92c7") + (revision "1")) (package (name "emacs-flymake-shellcheck") (version (git-version "0.1" revision commit)) @@ -1319,7 +1319,7 @@ provides an optional IDE-like error list.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "068mx5p4drwgppy4ry1rfq6qi79w6d82b4rnpl2jm37grsg94lix")))) + (base32 "04yfb4sy41spjzk9mhm4gy0h8vnjx09p2g6nm1yzgd9a5ph9sqgl")))) (build-system emacs-build-system) (home-page "https://github.com/federicotdn/flymake-shellcheck") (synopsis "Flymake backend for Bash/Sh powered by ShellCheck") From efe7a17406ef3161da1d2bf3069ed456d811ae2f Mon Sep 17 00:00:00 2001 From: Ryan Prior via Guix-patches via Date: Mon, 15 Mar 2021 00:41:04 +0000 Subject: [PATCH 0787/1003] gnu: Add countdown. * gnu/packages/time.scm (countdown): New variable. Also adds copyright, adds necessary module dependencies, and sorts them alphabetically. Signed-off-by: Nicolas Goaziou --- gnu/packages/time.scm | 48 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index 73e7f04834..20ce76d8d0 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2019 Pierre Langlois ;;; Copyright © 2020 Lars-Dominik Braun ;;; Copyright © 2020 Tanguy Le Carrour +;;; Copyright © 2021 Ryan Prior ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,18 +36,22 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages time) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix build-system gnu) - #:use-module (guix build-system python) - #:use-module (gnu packages) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages golang) #:use-module (gnu packages perl) #:use-module (gnu packages python) - #:use-module (gnu packages python-xyz)) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages terminals) + #:use-module (gnu packages textutils) + #:use-module (gnu packages) + #:use-module (guix build-system gnu) + #:use-module (guix build-system go) + #:use-module (guix build-system python) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix licenses) + #:use-module (guix packages)) (define-public time (package @@ -510,3 +515,30 @@ datetime type.") modifies the @code{time}, @code{gettimeofday} and @code{clock_gettime} system calls.") (license gpl2))) + +(define-public countdown + (package + (name "countdown") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/antonmedv/countdown") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0pdaw1krr0bsl4amhwx03v2b02iznvwvqn7af5zp4fkzjaj14cdw")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/antonmedv/countdown")) + (native-inputs + `(("runewidth" ,go-github.com-mattn-go-runewidth) + ("termbox" ,go-github.com-nsf-termbox-go))) + (home-page "https://github.com/antonmedv/countdown") + (synopsis "Counts to zero with a text user interface") + (description + "Countdown provides a fancy text display while it counts down to zero +from a starting point you provide. The user can pause and resume the +countdown from the text user interface.") + (license expat))) From 0d8d499036f632e03f63bdaf36b02861ea52b3e6 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 11 Feb 2021 15:25:42 -0500 Subject: [PATCH 0788/1003] tests: Make the STORE test more robust in a "pure" environment. Otherwise, the test crashes (not fails) when run in `guix environment --pure guix`. Fixes . * tests/store.scm (%shell): Fallback to "/bin/sh". --- tests/store.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/store.scm b/tests/store.scm index cda0e0302f..9c25adf5e9 100644 --- a/tests/store.scm +++ b/tests/store.scm @@ -50,7 +50,7 @@ (open-connection-for-tests)) (define %shell - (or (getenv "SHELL") (getenv "CONFIG_SHELL"))) + (or (getenv "SHELL") (getenv "CONFIG_SHELL") "/bin/sh")) (test-begin "store") From bb8a0d8057be204ff507ef01a082335a1620f075 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 18 Mar 2021 21:05:58 +0100 Subject: [PATCH 0789/1003] gnu: emacsy-minimal: Fix build. * gnu/packages/guile-xyz.scm (emacsy-minimal)[native-inputs]: Add autoconf, automake, gettext-minimal, libtool, pkg-config, and texinfo. --- gnu/packages/guile-xyz.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 6493fe6048..d89b9954de 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe ;;; Copyright © 2017 Theodoros Foradis ;;; Copyright © 2017 Nikita -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018, 2021 Tobias Geerinckx-Rice ;;; Copyright © 2018 Maxim Cournoyer ;;; Copyright © 2018, 2019, 2020 Arun Isaac ;;; Copyright © 2018 Pierre-Antoine Rouby @@ -3306,6 +3306,13 @@ in C using Gtk+-3 and WebKitGtk.") (sha256 (base32 "03ym14g9qhjqmryr5z065kynqm8yhmvnbs2djl6vp3i9cmqln8cl")))) (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext" ,gettext-minimal) + ("libtool" ,libtool) + ("makeinfo" ,texinfo) + ("pkg-config" ,pkg-config))) (inputs `(("guile" ,guile-2.2) ("guile-lib" ,guile2.2-lib) From 9ade2b720af91acecf76278b4d9b99ace406781e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 12 Mar 2021 15:26:27 -0500 Subject: [PATCH 0790/1003] doc: Document the guidelines for removing inactive committers. For more context, see the discussion in . * doc/contributing.texi (Commit Access): Add paragraph about removing inactive committers. --- doc/contributing.texi | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/contributing.texi b/doc/contributing.texi index e105467480..58c4dafb9b 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -1373,6 +1373,12 @@ you're confident, it's OK to commit. That last part is subject to being adjusted, allowing individuals to commit directly on non-controversial changes on parts they’re familiar with. +In order to reduce the possibility of mistakes, committers will have +their Savannah account removed from the Guix Savannah project and their +key removed from @file{.guix-authorizations} after 12 months of +inactivity; they can ask to regain commit access by emailing the +maintainers, without going through the vouching process. + One last thing: the project keeps moving forward because committers not only push their own awesome changes, but also offer some of their time @emph{reviewing} and pushing other people's changes. As a committer, From f62633a527a7b54ab2c552b493dce382ab2365e6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 18 Mar 2021 21:51:45 +0100 Subject: [PATCH 0791/1003] news: Add erratum for '--keep-failed' vulnerability. * etc/news.scm: Add entry. --- etc/news.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/etc/news.scm b/etc/news.scm index 3c604b0d23..f3e6bb6dff 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -20,6 +20,22 @@ (channel-news (version 0) + (entry (commit "ec7fb669945bfb47c5e1fdf7de3a5d07f7002ccf") + (title + (en "Update on previous @command{guix-daemon} local privilege escalation")) + (body + (en "The previous news item described a potential local privilege +escalation in @command{guix-daemon}, and claimed that systems with the Linux +@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt, +``protected hardlink''} feature enabled were unaffected by the vulnerability. + +This is not entirely correct. Exploiting the bug on such systems is harder, +but not impossible. To avoid unpleasant surprises, all users are advised to +upgrade @command{guix-daemon}. Run @command{info \"(guix) Upgrading Guix\"} +for info on how to do that. See +@uref{http://guix.gnu.org/en/blog/2021/risk-of-local-privilege-escalation-via-guix-daemon/} +for more information on this bug."))) + (entry (commit "ec7fb669945bfb47c5e1fdf7de3a5d07f7002ccf") (title (en "Risk of local privilege escalation @i{via} @command{guix-daemon}") From 79f9091b0f2d96d829340606d3e924d175285cf1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 18 Mar 2021 22:13:52 +0100 Subject: [PATCH 0792/1003] news: Update erratum for '--keep-failed' vulnerability. * etc/news.scm: Change commit to behave in a (hopefully) more expected manner. Change http:// to https:// URL whilst here. --- etc/news.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/etc/news.scm b/etc/news.scm index f3e6bb6dff..51daaa527f 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -20,7 +20,7 @@ (channel-news (version 0) - (entry (commit "ec7fb669945bfb47c5e1fdf7de3a5d07f7002ccf") + (entry (commit "9ade2b720af91acecf76278b4d9b99ace406781e") (title (en "Update on previous @command{guix-daemon} local privilege escalation")) (body @@ -33,7 +33,7 @@ This is not entirely correct. Exploiting the bug on such systems is harder, but not impossible. To avoid unpleasant surprises, all users are advised to upgrade @command{guix-daemon}. Run @command{info \"(guix) Upgrading Guix\"} for info on how to do that. See -@uref{http://guix.gnu.org/en/blog/2021/risk-of-local-privilege-escalation-via-guix-daemon/} +@uref{https://guix.gnu.org/en/blog/2021/risk-of-local-privilege-escalation-via-guix-daemon/} for more information on this bug."))) (entry (commit "ec7fb669945bfb47c5e1fdf7de3a5d07f7002ccf") From 1cf49786f02e2fcb791e24d6678a3f54f22bf85a Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 18 Mar 2021 22:29:58 +0100 Subject: [PATCH 0793/1003] =?UTF-8?q?news:=20Add=20=E2=80=98nl=E2=80=99=20?= =?UTF-8?q?translation.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * etc/news.scm (channel-news): Add a Dutch translation. --- etc/news.scm | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/etc/news.scm b/etc/news.scm index 51daaa527f..f9f1f4f462 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -22,7 +22,8 @@ (entry (commit "9ade2b720af91acecf76278b4d9b99ace406781e") (title - (en "Update on previous @command{guix-daemon} local privilege escalation")) + (en "Update on previous @command{guix-daemon} local privilege escalation") + (nl "Aanvulling bij escalatie van bevoegdheden via @command{guix-daemon}")) (body (en "The previous news item described a potential local privilege escalation in @command{guix-daemon}, and claimed that systems with the Linux @@ -34,7 +35,20 @@ but not impossible. To avoid unpleasant surprises, all users are advised to upgrade @command{guix-daemon}. Run @command{info \"(guix) Upgrading Guix\"} for info on how to do that. See @uref{https://guix.gnu.org/en/blog/2021/risk-of-local-privilege-escalation-via-guix-daemon/} -for more information on this bug."))) +for more information on this bug.") + (nl "Het vorige nieuwsbericht beschreef een beveiligingsprobleem in +@command{guix-daemon} dat kan leiden tot de escalatie van lokale bevoegdheden. +Het bericht stelde dat machines waarop de +@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt, +``protected hardlink''}-optie van Linux is inschakeld niet kwetsbaar zijn. + +Dit is niet volledig juist. De optie maakt het uitbuiten van de fout +moeilijker maar niet onmogelijk. Om onaangename verrassingen te voorkomen +is het voor iedereen aangeraden om @command{guix-daemon} op te waarderen. +Voer @command{info \"(guix) Upgrading Guix\"} uit voor meer informatie +daarover. Lees +@uref{https://guix.gnu.org/en/blog/2021/risk-of-local-privilege-escalation-via-guix-daemon/} +voor meer informatie over het probleem."))) (entry (commit "ec7fb669945bfb47c5e1fdf7de3a5d07f7002ccf") (title From 5dd33960bc773774dd3c2fd508e1b9ed3f8a73e2 Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Thu, 18 Mar 2021 23:24:32 +0100 Subject: [PATCH 0794/1003] =?UTF-8?q?news:=20Add=20=E2=80=98de=E2=80=99=20?= =?UTF-8?q?translation.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * etc/news.scm (channel-news): Add German translation. --- etc/news.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/etc/news.scm b/etc/news.scm index f9f1f4f462..deedc69f6e 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -23,6 +23,7 @@ (entry (commit "9ade2b720af91acecf76278b4d9b99ace406781e") (title (en "Update on previous @command{guix-daemon} local privilege escalation") + (de "Nachtrag zur lokalen Rechteausweitung bei @command{guix-daemon}") (nl "Aanvulling bij escalatie van bevoegdheden via @command{guix-daemon}")) (body (en "The previous news item described a potential local privilege @@ -36,6 +37,20 @@ upgrade @command{guix-daemon}. Run @command{info \"(guix) Upgrading Guix\"} for info on how to do that. See @uref{https://guix.gnu.org/en/blog/2021/risk-of-local-privilege-escalation-via-guix-daemon/} for more information on this bug.") + (de "In der letzten Neuigkeit wurde eine mögliche lokale +Rechteausweitung im @command{guix-daemon} beschrieben und behauptet, dass +Systeme, auf denen Linux’ +@uref{https://www.kernel.org/doc/Documentation/sysctl/fs.txt, +„Geschützte-Hardlinks“-Funktionalität} aktiviert ist, von der Sicherheitslücke +nicht betroffen seien. + +Das stimmt nicht ganz. Die Lücke auf solchen Systemen auszunutzen, ist +schwerer, aber nicht unmöglich. Um unangenehme Überraschungen zu vermeiden, +empfehlen wir allen Nutzern, @command{guix-daemon} zu aktualisieren. Führen +Sie @command{info \"(guix.de) Aktualisieren von Guix\"} aus, um zu erfahren, +wie Sie ihn aktualisieren können. Siehe +@uref{https://guix.gnu.org/de/blog/2021/risk-of-local-privilege-escalation-via-guix-daemon/} +für mehr Informationen zu diesem Fehler.") (nl "Het vorige nieuwsbericht beschreef een beveiligingsprobleem in @command{guix-daemon} dat kan leiden tot de escalatie van lokale bevoegdheden. Het bericht stelde dat machines waarop de From 1155a88308df7649fe74bd5bb8279a4d103ce386 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 19 Mar 2021 00:13:42 +0100 Subject: [PATCH 0795/1003] gnu: ungoogled-chromium: Update to 89.0.4389.90-1. * gnu/packages/patches/ungoogled-chromium-system-opus.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/chromium.scm (%preserved-third-party-files): Adjust for 89. (%chromium-version): Remove variable. (%ungoogled-revision): Set to 89.0.4389.90-1. (%ungoogled-origin): Conditionally set file name based on commit/tag. (%guix-patches): Add the new file. (libvpx/chromium): Update to 1.9.0-104-gb5d77a48d. (ungoogled-chromium)[version]: Use %UNGOOGLED-REVISION. [source]: Update hash. [arguments]: Adjust #:configure-flags for build system changes. Don't build with external WebRTC SSL library. Remove obsolete substitution. [inputs]: Remove OPENSSL. Change from PIPEWIRE to PIPEWIRE-0.3. --- gnu/local.mk | 1 + gnu/packages/chromium.scm | 64 ++++++++----------- .../ungoogled-chromium-system-opus.patch | 27 ++++++++ 3 files changed, 55 insertions(+), 37 deletions(-) create mode 100644 gnu/packages/patches/ungoogled-chromium-system-opus.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0422beac82..afd9c17f9c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1725,6 +1725,7 @@ dist_patch_DATA = \ %D%/packages/patches/udiskie-no-appindicator.patch \ %D%/packages/patches/ungoogled-chromium-extension-search-path.patch \ %D%/packages/patches/ungoogled-chromium-system-nspr.patch \ + %D%/packages/patches/ungoogled-chromium-system-opus.patch \ %D%/packages/patches/unison-fix-ocaml-4.08.patch \ %D%/packages/patches/unknown-horizons-python-3.8-distro.patch \ %D%/packages/patches/unzip-CVE-2014-8139.patch \ diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index b81a773c3d..de7c887061 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -65,7 +65,6 @@ #:use-module (gnu packages regex) #:use-module (gnu packages serialization) #:use-module (gnu packages speech) - #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) #:use-module (gnu packages vulkan) #:use-module (gnu packages video) @@ -96,7 +95,6 @@ "net/third_party/quiche" ;BSD-3 "net/third_party/uri_template" ;ASL2.0 "third_party/abseil-cpp" ;ASL2.0 - "third_party/adobe/flash/flapper_version.h" ;no license, trivial "third_party/angle" ;BSD-3 "third_party/angle/src/common/third_party/base" ;BSD-3 "third_party/angle/src/common/third_party/smhasher" ;Public domain @@ -105,10 +103,6 @@ "third_party/angle/src/third_party/libXNVCtrl" ;Expat "third_party/angle/src/third_party/trace_event" ;BSD-3 "third_party/angle/src/third_party/volk" ;Expat - "third_party/angle/third_party/vulkan-headers" ;ASL2.0 - "third_party/angle/third_party/vulkan-loader" ;ASL2.0 - "third_party/angle/third_party/vulkan-tools" ;ASL2.0 - "third_party/angle/third_party/vulkan-validation-layers" ;ASL2.0 "third_party/apple_apsl" ;APSL2.0 "third_party/axe-core" ;MPL2.0 "third_party/blink" ;BSD-3, LGPL2+ @@ -161,7 +155,6 @@ "third_party/emoji-segmenter" ;ASL2.0 "third_party/flatbuffers" ;ASL2.0 "third_party/fusejs" ;ASL2.0 - "third_party/glslang" ;BSD-3, Expat, ASL2.0 "third_party/google_input_tools" ;ASL2.0 "third_party/google_input_tools/third_party/closure_library" ;ASL2.0 "third_party/google_input_tools/third_party/closure_library/third_party/closure" ;Expat @@ -189,6 +182,8 @@ "third_party/libsrtp" ;BSD-3 "third_party/libsync" ;ASL2.0 "third_party/libudev" ;LGPL2.1+ + "third_party/liburlpattern" ;Expat + "third_party/libva_protected_content" ;Expat ;; FIXME: build/linux/unbundle/libvpx.gn does not work for all users. "third_party/libvpx" ;BSD-3 @@ -203,6 +198,7 @@ "third_party/markupsafe" ;BSD-3 "third_party/mesa_headers" ;Expat, SGI "third_party/metrics_proto" ;BSD-3 + "third_party/minigbm" ;BSD-3 "third_party/modp_b64" ;BSD-3 "third_party/nasm" ;BSD-2 "third_party/nearby" ;ASL2.0 @@ -220,7 +216,8 @@ "third_party/pdfium/third_party/skia_shared" ;BSD-3 "third_party/pdfium/third_party/freetype/include/pstables.h" ;FreeType "third_party/perfetto" ;ASL2.0 - "third_party/pffft" ;the "FFTPACK" license, similar to BSD-3 + "third_party/perfetto/protos/third_party/chromium" ;BSD-3 + "third_party/pffft" ;the "FFTPACK" license "third_party/ply" ;BSD-3 "third_party/polymer" ;BSD-3 "third_party/private_membership" ;ASL2.0 @@ -236,7 +233,6 @@ "third_party/s2cellid" ;ASL2.0 "third_party/schema_org" ;CC-BY-SA3.0 "third_party/securemessage" ;ASL2.0 - "third_party/shaka-player" ;ASL2.0 "third_party/shell-encryption" ;ASL2.0 "third_party/skia" ;BSD-3 "third_party/skia/include/third_party/skcms" ;BSD-3 @@ -244,8 +240,6 @@ "third_party/skia/third_party/vulkanmemoryallocator" ;BSD-3, Expat "third_party/smhasher" ;Expat, public domain "third_party/speech-dispatcher" ;GPL2+ - "third_party/spirv-headers" ;ASL2.0 - "third_party/SPIRV-Tools" ;ASL2.0 "third_party/sqlite" ;Public domain "third_party/swiftshader" ;ASL2.0 "third_party/swiftshader/third_party/astc-encoder" ;ASL2.0 @@ -258,6 +252,7 @@ "third_party/ukey2" ;ASL2.0 "third_party/usb_ids" ;BSD-3 "third_party/usrsctp" ;BSD-2 + "third_party/vulkan-deps" ;ASL2.0, BSD-3, Expat "third_party/vulkan_memory_allocator" ;Expat "third_party/wayland/protocol" ;Expat "third_party/wayland/stubs" ;BSD-3, Expat @@ -310,8 +305,7 @@ (string-append "ungoogled-chromium-" category "-" name)))) (sha256 (base32 hash)))) -(define %chromium-version "88.0.4324.182") -(define %ungoogled-revision "b98f2d51406c84a75df96f0da9dee3c0d790963d") +(define %ungoogled-revision "89.0.4389.90-1") (define %debian-revision "debian/84.0.4147.105-1") (define %debian-patches @@ -326,15 +320,20 @@ (uri (git-reference (url "https://github.com/Eloston/ungoogled-chromium") (commit %ungoogled-revision))) (file-name (git-file-name "ungoogled-chromium" - (string-take %ungoogled-revision 7))) + (if (= 40 (string-length %ungoogled-revision)) + (string-take %ungoogled-revision 7) + %ungoogled-revision))) (sha256 (base32 - "1c9y1dn9s06pskkjw2r8lsbplak8m2rwh4drixvjpif7b4cgdhay")))) + "0pr756d1b4wc67d61b21yszi7mx1hsjy14i44j0kvcwm05pgnf79")))) (define %guix-patches (list (local-file (assume-valid-file-name (search-patch "ungoogled-chromium-system-nspr.patch"))) + (local-file + (assume-valid-file-name + (search-patch "ungoogled-chromium-system-opus.patch"))) (local-file (assume-valid-file-name (search-patch "ungoogled-chromium-extension-search-path.patch"))))) @@ -418,7 +417,7 @@ (define libvpx/chromium (package (inherit libvpx) - (version "1.9.0-88-g12059d956") + (version "1.9.0-104-gb5d77a48d") (source (origin (inherit (package-source libvpx)) (uri (git-reference @@ -427,7 +426,7 @@ (file-name (git-file-name "libvpx" version)) (sha256 (base32 - "14knnvfaskfz97vs3lfqrdpcbcx22s6qp16213wdnvnsf4c1lx1b")))))) + "07nkpx8myw5nd4bkaj6l4wr5ipk2c6lg9cwirz0i5qbr659051rk")))))) ;; 'make-ld-wrapper' can only work with an 'ld' executable, so we need ;; this trick to make it wrap 'lld'. @@ -457,17 +456,17 @@ (define-public ungoogled-chromium (package (name "ungoogled-chromium") - (version (string-append %chromium-version "-0." - (string-take %ungoogled-revision 7))) + (version %ungoogled-revision) (synopsis "Graphical web browser") (source (origin (method url-fetch) (uri (string-append "https://commondatastorage.googleapis.com" "/chromium-browser-official/chromium-" - %chromium-version ".tar.xz")) + (string-drop-right %ungoogled-revision 2) + ".tar.xz")) (sha256 (base32 - "10av060ix6lgsvv99lyvyy03r0m3zwdg4hddbi6dycrdxk1iyh9h")) + "16i7bgk2jbcqs2p28nk5mlf0k6wah594pcsfm8b154nxbyf0iihi")) (modules '((guix build utils))) (snippet (force ungoogled-chromium-snippet)))) (build-system gnu-build-system) @@ -488,9 +487,6 @@ ;; Use the "official" release optimizations, as opposed to ;; a developer build. "is_official_build=true" - (string-append "max_jobs_per_link=" - ;; Respect the default cap of 8 jobs. - (number->string (min 8 (parallel-job-count)))) "clang_use_chrome_plugins=false" "chrome_pgo_phase=0" "use_sysroot=false" @@ -533,7 +529,6 @@ "use_system_zlib=true" "use_gnome_keyring=false" ;deprecated by libsecret - "use_openh264=true" "use_pulseaudio=true" "link_pulseaudio=true" "icu_use_data_file=false" @@ -548,6 +543,10 @@ '("use_vaapi=true") '()) + "media_use_ffmpeg=true" + "media_use_libvpx=true" + "media_use_openh264=true" + ;; Do not artifically restrict formats supported by system ffmpeg. "proprietary_codecs=true" "ffmpeg_branding=\"Chrome\"" @@ -556,17 +555,15 @@ "rtc_use_h264=true" "rtc_use_pipewire=true" "rtc_link_pipewire=true" + "rtc_pipewire_version=\"0.3\"" ;; Don't use bundled sources. "rtc_build_json=true" ;FIXME: libc++ std::string ABI difference "rtc_build_libevent=false" "rtc_build_libvpx=false" "rtc_build_opus=false" - "rtc_build_ssl=false" "rtc_build_libsrtp=true" ;FIXME: fails to find headers "rtc_build_usrsctp=true" ;TODO: package this - (string-append "rtc_ssl_root=\"" - (assoc-ref %build-inputs "openssl") - "/include/openssl\"")) + "rtc_build_ssl=true") ;XXX: the bundled BoringSSL is required? #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-stuff @@ -604,12 +601,6 @@ (("third_party/icu/source/(common|i18n)/") "")) - ;; Fix faulty ICU call. Likely fixed in M89. - (substitute* - "third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc" - (("ideographicSpaceCharacter") - "kIdeographicSpaceCharacter")) - ;; XXX: Should be unnecessary when use_system_lcms2=true. (substitute* "third_party/pdfium/core/fxcodec/icc/iccmodule.h" (("include \"third_party/lcms/include/lcms2\\.h\"") @@ -865,11 +856,10 @@ ("nss" ,nss) ("openh264" ,openh264) ("openjpeg" ,openjpeg) ;PDFium only - ("openssl" ,openssl) ("opus" ,opus+custom) ("pango" ,pango) ("pciutils" ,pciutils) - ("pipewire" ,pipewire) + ("pipewire" ,pipewire-0.3) ("pulseaudio" ,pulseaudio) ("snappy" ,snappy) ("speech-dispatcher" ,speech-dispatcher) diff --git a/gnu/packages/patches/ungoogled-chromium-system-opus.patch b/gnu/packages/patches/ungoogled-chromium-system-opus.patch new file mode 100644 index 0000000000..6f887a31a4 --- /dev/null +++ b/gnu/packages/patches/ungoogled-chromium-system-opus.patch @@ -0,0 +1,27 @@ +Add missing build dependency on Opus so that system headers are found. + +Taken from upstream: +https://chromium-review.googlesource.com/c/chromium/src/+/2644623 + +diff --git a/third_party/blink/renderer/modules/webcodecs/BUILD.gn b/third_party/blink/renderer/modules/webcodecs/BUILD.gn +--- a/third_party/blink/renderer/modules/webcodecs/BUILD.gn ++++ b/third_party/blink/renderer/modules/webcodecs/BUILD.gn +@@ -65,6 +65,7 @@ blink_modules_sources("webcodecs") { + "//media/mojo/clients", + "//media/mojo/mojom", + "//third_party/libyuv:libyuv", ++ "//third_party/opus", + ] + if (media_use_openh264) { + deps += [ "//third_party/openh264:encoder" ] +diff --git a/third_party/blink/renderer/modules/webcodecs/DEPS b/third_party/blink/renderer/modules/webcodecs/DEPS +--- a/third_party/blink/renderer/modules/webcodecs/DEPS ++++ b/third_party/blink/renderer/modules/webcodecs/DEPS +@@ -19,6 +19,7 @@ include_rules = [ + + "+third_party/libyuv", + "+third_party/openh264", ++ "+third_party/opus", + + "+ui/gfx/color_space.h", + "+ui/gfx/geometry/rect.h", From c1245f01efdc126e37a0bf432a8a1b315ccb33a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Fri, 19 Mar 2021 11:44:41 +0100 Subject: [PATCH 0796/1003] gnu: ruby-kramdown: Update to 2.3.1 [fixes CVE-2021-28834]. * gnu/packages/ruby.scm (ruby-kramdown): Update to 2.3.1. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c138f18f7e..806c6cf873 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -11096,13 +11096,13 @@ functionality from Prawn.") (define-public ruby-kramdown (package (name "ruby-kramdown") - (version "2.3.0") + (version "2.3.1") (source (origin (method url-fetch) (uri (rubygems-uri "kramdown" version)) (sha256 (base32 - "1vmw752c26ny2jwl0npn0gbyqwgz4hdmlpxnsld9qi9xhk5b1qh7")))) + "0jdbcjv4v7sj888bv3vc6d1dg4ackkh7ywlmn9ln2g9alk7kisar")))) (build-system ruby-build-system) (arguments `(#:tests? #f)); FIXME: some test failures (native-inputs From 572528e7ddcf6af213c78e70eb60953a82b96a96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Fri, 19 Mar 2021 11:56:38 +0100 Subject: [PATCH 0797/1003] gnu: busybox: Fix CVE-2021-28831. * gnu/packages/patches/busybox-CVE-2021-28831.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/busybox.scm (busybox): Apply it. --- gnu/local.mk | 1 + gnu/packages/busybox.scm | 3 +- .../patches/busybox-CVE-2021-28831.patch | 57 +++++++++++++++++++ 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/busybox-CVE-2021-28831.patch diff --git a/gnu/local.mk b/gnu/local.mk index afd9c17f9c..8325c071bd 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -872,6 +872,7 @@ dist_patch_DATA = \ %D%/packages/patches/blender-2.79-python-3.7-fix.patch \ %D%/packages/patches/blender-2.79-python-3.8-fix.patch \ %D%/packages/patches/bpftrace-disable-bfd-disasm.patch \ + %D%/packages/patches/busybox-CVE-2021-28831.patch \ %D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/cairo-CVE-2018-19876.patch \ %D%/packages/patches/cairo-CVE-2020-35492.patch \ diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm index 5af67e084d..17c90c3c65 100644 --- a/gnu/packages/busybox.scm +++ b/gnu/packages/busybox.scm @@ -41,7 +41,8 @@ version ".tar.bz2")) (sha256 (base32 - "1vhd59qmrdyrr1q7rvxmyl96z192mxl089hi87yl0hcp6fyw8mwx")))) + "1vhd59qmrdyrr1q7rvxmyl96z192mxl089hi87yl0hcp6fyw8mwx")) + (patches (search-patches "busybox-CVE-2021-28831.patch")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/patches/busybox-CVE-2021-28831.patch b/gnu/packages/patches/busybox-CVE-2021-28831.patch new file mode 100644 index 0000000000..da3107fbb1 --- /dev/null +++ b/gnu/packages/patches/busybox-CVE-2021-28831.patch @@ -0,0 +1,57 @@ +From f25d254dfd4243698c31a4f3153d4ac72aa9e9bd Mon Sep 17 00:00:00 2001 +From: Samuel Sapalski +Date: Wed, 3 Mar 2021 16:31:22 +0100 +Subject: decompress_gunzip: Fix DoS if gzip is corrupt + +On certain corrupt gzip files, huft_build will set the error bit on +the result pointer. If afterwards abort_unzip is called huft_free +might run into a segmentation fault or an invalid pointer to +free(p). + +In order to mitigate this, we check in huft_free if the error bit +is set and clear it before the linked list is freed. + +Signed-off-by: Samuel Sapalski +Signed-off-by: Peter Kaestle +Signed-off-by: Denys Vlasenko +--- + archival/libarchive/decompress_gunzip.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/archival/libarchive/decompress_gunzip.c b/archival/libarchive/decompress_gunzip.c +index eb3b64930..e93cd5005 100644 +--- a/archival/libarchive/decompress_gunzip.c ++++ b/archival/libarchive/decompress_gunzip.c +@@ -220,10 +220,20 @@ static const uint8_t border[] ALIGN1 = { + * each table. + * t: table to free + */ ++#define BAD_HUFT(p) ((uintptr_t)(p) & 1) ++#define ERR_RET ((huft_t*)(uintptr_t)1) + static void huft_free(huft_t *p) + { + huft_t *q; + ++ /* ++ * If 'p' has the error bit set we have to clear it, otherwise we might run ++ * into a segmentation fault or an invalid pointer to free(p) ++ */ ++ if (BAD_HUFT(p)) { ++ p = (huft_t*)((uintptr_t)(p) ^ (uintptr_t)(ERR_RET)); ++ } ++ + /* Go through linked list, freeing from the malloced (t[-1]) address. */ + while (p) { + q = (--p)->v.t; +@@ -289,8 +299,6 @@ static unsigned fill_bitbuffer(STATE_PARAM unsigned bitbuffer, unsigned *current + * or a valid pointer to a Huffman table, ORed with 0x1 if incompete table + * is given: "fixed inflate" decoder feeds us such data. + */ +-#define BAD_HUFT(p) ((uintptr_t)(p) & 1) +-#define ERR_RET ((huft_t*)(uintptr_t)1) + static huft_t* huft_build(const unsigned *b, const unsigned n, + const unsigned s, const struct cp_ext *cp_ext, + unsigned *m) +-- +cgit v1.2.1 + From 60d629d777a29b7708d5ced162beced74e1af2dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= Date: Fri, 19 Mar 2021 12:00:13 +0100 Subject: [PATCH 0798/1003] gnu: busybox: Update to 1.33.0. * gnu/packages/busybox.scm (busybox): Update to 1.33.0. --- gnu/packages/busybox.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm index 17c90c3c65..7ede3ee330 100644 --- a/gnu/packages/busybox.scm +++ b/gnu/packages/busybox.scm @@ -33,7 +33,7 @@ (define-public busybox (package (name "busybox") - (version "1.32.1") + (version "1.33.0") (source (origin (method url-fetch) (uri (string-append @@ -41,7 +41,7 @@ version ".tar.bz2")) (sha256 (base32 - "1vhd59qmrdyrr1q7rvxmyl96z192mxl089hi87yl0hcp6fyw8mwx")) + "1gcg7ggg79apdlp5qnrh9pbjl10fx30yn33p21kxqpm8j4f6hs6m")) (patches (search-patches "busybox-CVE-2021-28831.patch")))) (build-system gnu-build-system) (arguments From a0f83602f8333f2e9fa01ee8ad1ce9e073f5b753 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 18 Mar 2021 15:15:44 +0100 Subject: [PATCH 0799/1003] gnu-maintenance: Better handle empty #:directory for 'latest-html-release'. In particular, this makes sure we don't add a trailing slash when the user specified a 'release-monitoring-url' property for the 'generic-html' updater. * guix/gnu-maintenance.scm (latest-html-release): When DIRECTORY is empty, do not append it. --- guix/gnu-maintenance.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index 4ba2a5f731..d9c97beb29 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -475,7 +475,9 @@ When FILE->SIGNATURE is omitted or #f, guess the detached signature file name, if any. Otherwise, FILE->SIGNATURE must be a procedure; it is passed a source file URL and must return the corresponding signature URL, or #f it signatures are unavailable." - (let* ((uri (string->uri (string-append base-url directory "/"))) + (let* ((uri (string->uri (if (string-null? directory) + base-url + (string-append base-url directory "/")))) (port (http-fetch/cached uri #:ttl 3600)) (sxml (html->sxml port)) (links (delete-duplicates (html-links sxml)))) From 14aa86e50c3d931eb3714ca7bb91f861173169c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 18 Mar 2021 15:17:48 +0100 Subject: [PATCH 0800/1003] gnu: openmpi: Add 'release-monitoring-url' property. * gnu/packages/mpi.scm (openmpi)[properties]: New field. --- gnu/packages/mpi.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index e5a45d751c..b878cc7019 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -203,6 +203,12 @@ bind processes, and much more.") (sha256 (base32 "02f0r9d3xgs08svkmj8v7lzviyxqnkk4yd3z0wql550xnriki3y5")) (patches (search-patches "openmpi-mtl-priorities.patch")))) + + (properties + ;; Tell the 'generic-html' updater to monitor this URL for updates. + `((release-monitoring-url + . "https://www.open-mpi.org/software/ompi/current"))) + (build-system gnu-build-system) (inputs `(("hwloc" ,hwloc-2 "lib") From ee21803288cb2fd4dcfa9091d4fe4080a795a1ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 19 Mar 2021 13:21:43 +0100 Subject: [PATCH 0801/1003] gnu: openmpi: Update to 4.1.0. * gnu/packages/mpi.scm (openmpi): Update to 4.1.0. --- gnu/packages/mpi.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index b878cc7019..c958ef3398 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -193,7 +193,7 @@ bind processes, and much more.") (define-public openmpi (package (name "openmpi") - (version "4.0.5") + (version "4.1.0") (source (origin (method url-fetch) @@ -201,7 +201,7 @@ bind processes, and much more.") (version-major+minor version) "/downloads/openmpi-" version ".tar.bz2")) (sha256 - (base32 "02f0r9d3xgs08svkmj8v7lzviyxqnkk4yd3z0wql550xnriki3y5")) + (base32 "1dfmkyilgml9w9s5p0jmfj3xcdwdccwqbjw5iim9p0chf2vnz1kk")) (patches (search-patches "openmpi-mtl-priorities.patch")))) (properties From 4f04155232d62bfb7b9acc538c66d499e53189ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 19 Mar 2021 09:42:06 +0100 Subject: [PATCH 0802/1003] guix describe: Autoload Guile-JSON. * guix/scripts/describe.scm: Autoload (json). --- guix/scripts/describe.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/scripts/describe.scm b/guix/scripts/describe.scm index 6f8d9aceec..be2279d254 100644 --- a/guix/scripts/describe.scm +++ b/guix/scripts/describe.scm @@ -28,7 +28,7 @@ #:use-module (guix profiles) #:autoload (guix openpgp) (openpgp-format-fingerprint) #:use-module (git) - #:use-module (json) + #:autoload (json builder) (scm->json-string) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (srfi srfi-37) From 065d832fc235c177700f565e9d7a805d050cbf88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 19 Mar 2021 11:45:12 +0100 Subject: [PATCH 0803/1003] guix package: Autoload Guile-JSON and (guix describe). * guix/scripts/build.scm: Autoload (guix import json). * guix/scripts/package.scm: Autoload (guix import json) and (guix describe). --- guix/scripts/build.scm | 4 ++-- guix/scripts/package.scm | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index a959cb827d..fa1bbf867d 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.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, 2020, 2021, 2021 Ludovic Courtès ;;; Copyright © 2013 Mark H Weaver ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Ricardo Wurmus @@ -22,7 +22,7 @@ (define-module (guix scripts build) #:use-module (guix ui) #:use-module (guix scripts) - #:use-module (guix import json) + #:autoload (guix import json) (json->scheme-file) #:use-module (guix store) #:use-module (guix derivations) #:use-module (guix packages) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index fc5bf8137b..e3d40d5142 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -35,14 +35,15 @@ #:use-module (guix packages) #:use-module (guix profiles) #:use-module (guix search-paths) - #:use-module (guix import json) + #:autoload (guix import json) (json->scheme-file) #:use-module (guix monads) #:use-module (guix utils) #:use-module (guix config) #:use-module (guix scripts) #:use-module (guix scripts build) #:use-module (guix transformations) - #:use-module (guix describe) + #:autoload (guix describe) (manifest-entry-provenance + manifest-entry-with-provenance) #:autoload (guix channels) (channel-name channel-commit channel->code) #:autoload (guix store roots) (gc-roots user-owned?) #:use-module ((guix build utils) From c1940fde43c7aca37d67589cc5cb248086d17d56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 19 Mar 2021 11:51:20 +0100 Subject: [PATCH 0804/1003] git-download: Autoload Guile-Git. * guix/git-download.scm: Autoload (git ...) modules. --- guix/git-download.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/guix/git-download.scm b/guix/git-download.scm index 8e575e3b5f..425184717a 100644 --- a/guix/git-download.scm +++ b/guix/git-download.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès ;;; Copyright © 2017 Mathieu Lirzin ;;; Copyright © 2017 Christopher Baines ;;; Copyright © 2020 Jakub Kądziołka @@ -27,7 +27,14 @@ #:use-module (guix packages) #:use-module (guix modules) #:autoload (guix build-system gnu) (standard-packages) - #:use-module (git) + #:autoload (git repository) (repository-open + repository-close! + repository-discover + repository-head + repository-working-directory) + #:autoload (git commit) (commit-lookup commit-tree) + #:autoload (git reference) (reference-target) + #:autoload (git tree) (tree-list) #:use-module (ice-9 match) #:use-module (ice-9 vlist) #:use-module (srfi srfi-1) From f7008ca71351e5368a7c1c5bc3fe88fb80b01298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 19 Mar 2021 12:02:08 +0100 Subject: [PATCH 0805/1003] download: Autoload (guix build download). * guix/download.scm: Autoload (guix build download). (url-fetch): Rename to... (url-fetch*): ... this, locally, to allow for #:autoload. * guix/status.scm: Autoload (guix build download). --- guix/download.scm | 49 +++++++++++++++++++++++------------------------ guix/status.scm | 5 ++--- 2 files changed, 26 insertions(+), 28 deletions(-) diff --git a/guix/download.scm b/guix/download.scm index 579996f090..30f69c0325 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -27,7 +27,7 @@ #:use-module (guix derivations) #:use-module (guix packages) #:use-module (guix store) - #:use-module ((guix build download) #:prefix build:) + #:autoload (guix build download) (url-fetch) #:use-module (guix monads) #:use-module (guix gexp) #:use-module (guix utils) @@ -35,7 +35,7 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:export (%mirrors - url-fetch + (url-fetch* . url-fetch) url-fetch/executable url-fetch/tarbomb url-fetch/zipbomb @@ -449,11 +449,11 @@ download by itself using its own dependencies." ;; for that built-in is widespread. #:local-build? #t))) -(define* (url-fetch url hash-algo hash - #:optional name - #:key (system (%current-system)) - (guile (default-guile)) - executable?) +(define* (url-fetch* url hash-algo hash + #:optional name + #:key (system (%current-system)) + (guile (default-guile)) + executable?) "Return a fixed-output derivation that fetches data from URL (a string, or a list of strings denoting alternate URLs), which is expected to have hash HASH of type HASH-ALGO (a symbol). By default, the file name is the base name of @@ -499,10 +499,10 @@ name in the store." #:key (system (%current-system)) (guile (default-guile))) "Like 'url-fetch', but make the downloaded file executable." - (url-fetch url hash-algo hash name - #:system system - #:guile guile - #:executable? #t)) + (url-fetch* url hash-algo hash name + #:system system + #:guile guile + #:executable? #t)) (define* (url-fetch/tarbomb url hash-algo hash #:optional name @@ -521,11 +521,11 @@ own. This helper makes it easier to deal with \"tar bombs\"." (define tar (module-ref (resolve-interface '(gnu packages base)) 'tar)) - (mlet %store-monad ((drv (url-fetch url hash-algo hash - (string-append "tarbomb-" - (or name file-name)) - #:system system - #:guile guile)) + (mlet %store-monad ((drv (url-fetch* url hash-algo hash + (string-append "tarbomb-" + (or name file-name)) + #:system system + #:guile guile)) (guile (package->derivation guile system))) ;; Take the tar bomb, and simply unpack it as a directory. ;; Use ungrafted tar/gzip so that the resulting tarball doesn't depend on @@ -559,11 +559,11 @@ own. This helper makes it easier to deal with \"zip bombs\"." (define unzip (module-ref (resolve-interface '(gnu packages compression)) 'unzip)) - (mlet %store-monad ((drv (url-fetch url hash-algo hash - (string-append "zipbomb-" - (or name file-name)) - #:system system - #:guile guile)) + (mlet %store-monad ((drv (url-fetch* url hash-algo hash + (string-append "zipbomb-" + (or name file-name)) + #:system system + #:guile guile)) (guile (package->derivation guile system))) ;; Take the zip bomb, and simply unpack it as a directory. ;; Use ungrafted unzip so that the resulting tarball doesn't depend on @@ -598,10 +598,9 @@ whether or not to validate HTTPS server certificates." (lambda (temp port) (let ((result (parameterize ((current-output-port log)) - (build:url-fetch url temp - #:mirrors %mirrors - #:verify-certificate? - verify-certificate?)))) + (url-fetch url temp + #:mirrors %mirrors + #:verify-certificate? verify-certificate?)))) (close port) (and result (add-to-store store name recursive? "sha256" temp))))))) diff --git a/guix/status.scm b/guix/status.scm index 9ca6d92470..d47bf1700c 100644 --- a/guix/status.scm +++ b/guix/status.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018, 2019, 2020 Ludovic Courtès +;;; Copyright © 2017, 2018, 2019, 2020, 2021 Ludovic Courtès ;;; Copyright © 2018, 2019 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. @@ -23,8 +23,7 @@ #:use-module (guix colors) #:use-module (guix progress) #:autoload (guix build syscalls) (terminal-columns) - #:use-module ((guix build download) - #:select (nar-uri-abbreviation)) + #:autoload (guix build download) (nar-uri-abbreviation) #:use-module (guix store) #:use-module (guix derivations) #:use-module (guix memoization) From 813cddfa57d964e519adcf44e8ccb07006bd905d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 19 Mar 2021 12:11:42 +0100 Subject: [PATCH 0806/1003] build-system/node: Remove unnecessary imports. * guix/build-system/node.scm: Remove unnecessary imports. --- guix/build-system/node.scm | 2 -- 1 file changed, 2 deletions(-) diff --git a/guix/build-system/node.scm b/guix/build-system/node.scm index 05c24c47d5..a8c5eed09b 100644 --- a/guix/build-system/node.scm +++ b/guix/build-system/node.scm @@ -18,8 +18,6 @@ (define-module (guix build-system node) #:use-module (guix store) - #:use-module (guix build json) - #:use-module (guix build union) #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix derivations) From 7b79ca0a056acd1ac67149c158fcb3f4b7c2c36f Mon Sep 17 00:00:00 2001 From: "Boris A. Dekshteyn" Date: Fri, 19 Mar 2021 01:25:31 +1200 Subject: [PATCH 0807/1003] gnu: swi-prolog: Update to 8.3.20. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/prolog.scm (swi-prolog): Update to 8.3.20. Signed-off-by: Ludovic Courtès --- gnu/packages/prolog.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm index 9e0fe2a829..a5c57cd37c 100644 --- a/gnu/packages/prolog.scm +++ b/gnu/packages/prolog.scm @@ -86,7 +86,7 @@ manner. It also features an interactive interpreter.") (define-public swi-prolog (package (name "swi-prolog") - (version "8.3.10") + (version "8.3.20") (source (origin (method git-fetch) (uri (git-reference @@ -96,7 +96,7 @@ manner. It also features an interactive interpreter.") (file-name (git-file-name name version)) (sha256 (base32 - "15q40qpxz472lp190zbk0lyap2xgaxzib55l0c3qwgf9haz46j1p")))) + "1g0v9cmz8zvzc1n0si7sn6522xwzbhj2b8967ibs6prinrpjc8d6")))) (build-system cmake-build-system) (arguments `(#:parallel-build? #t From b6f0c9920146c3d3d125b96ea18226d691c549c0 Mon Sep 17 00:00:00 2001 From: jgart Date: Fri, 12 Mar 2021 10:39:14 -0500 Subject: [PATCH 0808/1003] gnu: vis: Update to 0.7. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/text-editors.scm (vis): Update to 0.7. [home-page, source]: Use sourcehut upstream URIs instead of github. Signed-off-by: Ludovic Courtès --- gnu/packages/text-editors.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 59286ce033..c671095793 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -80,15 +80,15 @@ (define-public vis (package (name "vis") - (version "0.6") ; also update the vis-test input + (version "0.7") ; also update the vis-test input (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/martanne/vis") + (url "https://git.sr.ht/~martanne/vis") (commit (string-append "v" version)))) (sha256 - (base32 "1zjm89cn3rfq8fxpwp66khy53s6vqlmw6q103qyyvix8ydzxdmsh")) + (base32 "1g05ncsnk57kcqm9wsv6sz8b24kyzj8r5rfpa1wfwj8qkjzx3vji")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -136,10 +136,10 @@ ,(origin (method git-fetch) (uri (git-reference - (url "https://github.com/martanne/vis-test") - (commit "4c4f6645de77f697a45899e8645e0c2bbdc7208a"))) + (url "https://git.sr.ht/~martanne/vis-test") + (commit "bbd2f34ff788e87a51a74069069273ad83c44f1f"))) (sha256 - (base32 "10vh1pxsqw88a5xwh5irkm85xr66dbycmgpmabyw9h0vm14cvcz2")) + (base32 "1jsvg2lg3xqfgi79x08kx94mc34mh62ivca10vsci6fqsk68jbd0")) (file-name (git-file-name "vis-test" version)))))) (inputs `(("lua" ,lua) ("ncurses" ,ncurses) From 9991b5e3e572fcc6ede775e298949263541d05fc Mon Sep 17 00:00:00 2001 From: Yoav Marco Date: Fri, 12 Mar 2021 03:26:20 +0200 Subject: [PATCH 0809/1003] gnu: Add dragon-drop. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gtk.scm (dragon-drop): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/gtk.scm | 47 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 9fc4967181..5b1c4481fd 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -2082,6 +2082,53 @@ shell scripts. Example of how to use @code{yad} can be consulted at @url{https://sourceforge.net/p/yad-dialog/wiki/browse_pages/}.") (license license:gpl3+))) +(define-public dragon-drop + (package + (name "dragon-drop") + (version "1.1.1") + (source (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/mwh/dragon") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0fgzz39007fdjwq72scp0qygp2v3zc5f1xkm0sxaa8zxm25g1bra")))) + (build-system gnu-build-system) + (inputs `(("gtk+" ,gtk+))) + (native-inputs `(("pkg-config" ,pkg-config))) + (arguments + `(#:tests? #f ; no check + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + ;; makefile uses PREFIX for the binary location + (string-append "PREFIX=" (assoc-ref %outputs "out") + "/bin")) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) ; no configure script + (synopsis "Drag and drop source/target for X") + (description + "Dragon is a lightweight drag-and-drop source for X where you can run: + +@example +dragon file.tar.gz +@end example + +to get a window with just that file in it, ready to be dragged where you need it. +What if you need to drag into something? Using: + +@example +dragon --target +@end example + +you get a window you can drag files and text into. Dropped items are +printed to standard output.") + (home-page "https://github.com/mwh/dragon") + (license license:gpl3+))) + (define-public libdbusmenu (package (name "libdbusmenu") From 1521775bcb5f1b33efd3f469fefd8ed935fe6010 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Sun, 7 Mar 2021 01:38:58 -0500 Subject: [PATCH 0810/1003] gnu: Add psi. * gnu/packages/messaging.scm (psi): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/messaging.scm | 59 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 7ab6d028a3..af649f6321 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -78,10 +78,12 @@ #:use-module (gnu packages guile) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) + #:use-module (gnu packages kde) #:use-module (gnu packages kerberos) #:use-module (gnu packages less) #:use-module (gnu packages libcanberra) #:use-module (gnu packages libidn) + #:use-module (gnu packages libreoffice) #:use-module (gnu packages linux) #:use-module (gnu packages logging) #:use-module (gnu packages lua) @@ -104,6 +106,7 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages readline) + #:use-module (gnu packages ruby) #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages tcl) @@ -131,6 +134,62 @@ #:use-module (guix packages) #:use-module (guix utils)) +(define-public psi + (package + (name "psi") + (version "1.5") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/psi/Psi/" + version "/psi-" version ".tar.xz")) + (modules '((guix build utils))) + (snippet + `(begin + (delete-file-recursively "3rdparty"))) + (sha256 + (base32 "1dxmm1d1zr0pfs51lba732ipm6hm2357jlfb934lvarzsh7karri")))) + (build-system qt-build-system) + (arguments + `(#:tests? #f ; No target + #:configure-flags + (list + "-DUSE_ENCHANT=ON" + "-DUSE_CCACHE=OFF") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-cmake + (lambda _ + (substitute* "cmake/modules/FindHunspell.cmake" + (("hunspell-1.6") + "hunspell-1.7")) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("ruby" ,ruby))) + (inputs + `(("aspell" ,aspell) + ("enchant" ,enchant-1.6) + ("hunspell" ,hunspell) + ("libidn" ,libidn) + ("qca" ,qca) + ("qtbase" ,qtbase) + ("qtmultimedia" ,qtmultimedia) + ("qtsvg" ,qtsvg) + ("qtwebkit" ,qtwebkit) + ("qtx11extras" ,qtx11extras) + ("x11" ,libx11) + ("xext" ,libxext) + ("xcb" ,libxcb) + ("zlib" ,zlib))) + (synopsis "Qt-based XMPP Client") + (description "Psi is a capable XMPP client aimed at experienced users. +Its design goals are simplicity and stability.") + (home-page "https://psi-im.org") + (license license:gpl2+))) + (define-public libgnt (package (name "libgnt") From 1ab03fb74505458e7754dce338a5da29dc754d80 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Fri, 19 Mar 2021 11:56:03 -0400 Subject: [PATCH 0811/1003] gnu: srt2vtt: Update to 0.2. * gnu/packages/video.scm (srt2vtt): Update to 0.2. Wrap executable. --- gnu/packages/video.scm | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index dbe042c0d9..2a213a10cf 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2646,7 +2646,7 @@ device without having to bother about the decryption.") (define-public srt2vtt (package (name "srt2vtt") - (version "0.1") + (version "0.2") (source (origin (method url-fetch) (uri (string-append @@ -2654,10 +2654,29 @@ device without having to bother about the decryption.") version ".tar.gz")) (sha256 (base32 - "16b377znjm6qlga5yb8aj7b7bcisa1ghcnj2lrb1d30lvxp4liif")))) + "1ravl635x81fcai4h2xnsn926i69pafgr6zkghq6319iprkw8ffv")))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-srt2vtt + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (version ,(let ((v (package-version guile-3.0))) + (string-append (car (string-split v #\.)) + ".0"))) + (site (string-append out "/share/guile/site/" version)) + (compiled (string-append + out "/lib/guile/" version + "/site-ccache"))) + (wrap-program (string-append bin "/srt2vtt") + `("GUILE_LOAD_PATH" ":" prefix (,site)) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,compiled))))))))) + (native-inputs + `(("pkg-config" ,pkg-config))) (inputs - `(("guile" ,guile-2.0))) + `(("guile" ,guile-3.0))) (synopsis "SubRip to WebVTT subtitle converter") (description "srt2vtt converts SubRip formatted subtitles to WebVTT format for use with HTML5 video.") From 43937666ba6975b6c847be8e67cecd781ce27049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 19 Mar 2021 14:23:57 +0100 Subject: [PATCH 0812/1003] download: 'tls-wrap' treats premature TLS termination as EOF. This is a backport of Guile commit 076276c4f580368b4106316a77752d69c8f1494a. * guix/build/download.scm (tls-wrap)[read!]: Wrap 'get-bytevector-n!' call in 'catch' and handle 'error/premature-termination' GnuTLS errors. --- guix/build/download.scm | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/guix/build/download.scm b/guix/build/download.scm index f24a1e20df..a22d4064ca 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -305,10 +305,22 @@ host name without trailing dot." (let ((record (session-record-port session))) (define (read! bv start count) - (let ((read (get-bytevector-n! record bv start count))) - (if (eof-object? read) - 0 - read))) + (define read + (catch 'gnutls-error + (lambda () + (get-bytevector-n! record bv start count)) + (lambda (key err proc . rest) + ;; When responding to "Connection: close" requests, some + ;; servers close the connection abruptly after sending the + ;; response body, without doing a proper TLS connection + ;; termination. Treat it as EOF. + (if (eq? err error/premature-termination) + the-eof-object + (apply throw key err proc rest))))) + + (if (eof-object? read) + 0 + read)) (define (write! bv start count) (put-bytevector record bv start count) (force-output record) From b93d7daeaffd59436b3cf52a777d2cbe052c14d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 19 Mar 2021 18:26:59 +0100 Subject: [PATCH 0813/1003] doc: Add 'shepherd-service' example. * doc/guix.texi (Shepherd Services): Add example. --- doc/guix.texi | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 73757be887..386169b2a5 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -34060,6 +34060,38 @@ This is the list of modules that must be in scope when @code{start} and @end table @end deftp +The example below defines a Shepherd service that spawns +@command{syslogd}, the system logger from the GNU Networking Utilities +(@pxref{syslogd invocation, @command{syslogd},, inetutils, GNU +Inetutils}): + +@example +(let ((config (plain-file "syslogd.conf" "@dots{}"))) + (shepherd-service + (documentation "Run the syslog daemon (syslogd).") + (provision '(syslogd)) + (requirement '(user-processes)) + (start #~(make-forkexec-constructor + (list #$(file-append inetutils "/libexec/syslogd") + "--rcfile" #$config) + #:pid-file "/var/run/syslog.pid")) + (stop #~(make-kill-destructor)))) +@end example + +Key elements in this example are the @code{start} and @code{stop} +fields: they are @dfn{staged} code snippets that use the +@code{make-forkexec-constructor} procedure provided by the Shepherd and +its dual, @code{make-kill-destructor} (@pxref{Service De- and +Constructors,,, shepherd, The GNU Shepherd Manual}). The @code{start} +field will have @command{shepherd} spawn @command{syslogd} with the +given option; note that we pass @code{config} after @option{--rcfile}, +which is a configuration file declared above (contents of this file are +omitted). Likewise, the @code{stop} field tells how this service is to +be stopped; in this case, it is stopped by making the @code{kill} system +call on its PID@. Code staging is achieved using G-expressions: +@code{#~} stages code, while @code{#$} ``escapes'' back to host code +(@pxref{G-Expressions}). + @deftp {Data Type} shepherd-action This is the data type that defines additional actions implemented by a Shepherd service (see above). From ef2b9322fae1d03bf639924d12214b0f58c11054 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 19 Mar 2021 21:33:37 +0100 Subject: [PATCH 0814/1003] build-self: Silent Guile warnings while computing the derivation. In particular, silence the Guile-Git autoload warnings introduced by c1940fde43c7aca37d67589cc5cb248086d17d56. * build-aux/build-self.scm (build-program): Wrap 'guix-derivation' call in 'parameterize'. --- build-aux/build-self.scm | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm index 6a3b9c83d4..dd845d1596 100644 --- a/build-aux/build-self.scm +++ b/build-aux/build-self.scm @@ -356,14 +356,17 @@ interface (FFI) of Guile.") (display (and=> - (run-with-store store - (guix-derivation source version - #$guile-version - #:channel-metadata - '#$channel-metadata - #:pull-version - #$pull-version) - #:system system) + ;; Silence autoload warnings and the likes. + (parameterize ((current-warning-port + (%make-void-port "w"))) + (run-with-store store + (guix-derivation source version + #$guile-version + #:channel-metadata + '#$channel-metadata + #:pull-version + #$pull-version) + #:system system)) derivation-file-name)))))) #:module-path (list source)))) From 369d0e7f5c7d5b81543bc053ea9a51fd921102ec Mon Sep 17 00:00:00 2001 From: Xinglu Chen Date: Sat, 6 Mar 2021 10:28:02 +0100 Subject: [PATCH 0815/1003] gnu: Add git2cl. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/version-control.scm (git2cl): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/version-control.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 7c93337625..137c7c8336 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2021 Chris Marusich ;;; Copyright © 2021 Léo Le Bouter ;;; Copyright © 2021 LibreMiami +;;; Copyright © 2021 Xinglu Chen ;;; ;;; This file is part of GNU Guix. ;;; @@ -600,6 +601,31 @@ everything from small to very large projects with speed and efficiency.") ("perl" ,perl) ("zlib" ,zlib))))) +(define-public git2cl + (let ((commit "1d74d4c0d933fc69ed5cec838c73502584dead05")) + (package + (name "git2cl") + (version (string-append "20120919." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.nongnu.org/git/git2cl.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0wnnbm2sjvfj0qrksj89jlnl69miwl0vk3wrrvgvpclgys3na2g1")))) + (build-system copy-build-system) + (inputs + `(("perl" ,perl))) + (arguments + `(#:install-plan '(("git2cl" "bin/git2cl")))) + (home-page "https://savannah.nongnu.org/projects/git2cl") + (synopsis "Convert Git logs to GNU ChangeLog format") + (description "@code{git2cl} is a command line tool for converting Git +logs to GNU ChangeLog format.") + (license license:gpl2+)))) + (define-public gitless (package (name "gitless") From f08a60bbecc46b7918986bb79a34caf537751693 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Mon, 8 Feb 2021 14:08:27 -0300 Subject: [PATCH 0816/1003] gnu: Add fzf. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/terminals.scm (fzf): New variable, which inherits from the existing go-github-com-junegunn-fzf package, but also install other binary, and completion for direct usage. Signed-off-by: Ludovic Courtès --- gnu/packages/terminals.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index f4c97e0002..3fe580589d 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -824,6 +824,43 @@ programmer to write text-based user interfaces.") usable with any list--including files, command history, processes and more.") (license license:expat))) +(define-public fzf + (package + (inherit go-github-com-junegunn-fzf) + (name "fzf") + (arguments + (ensure-keyword-arguments + (package-arguments go-github-com-junegunn-fzf) + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'copy-binaries + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (with-directory-excursion "src/github.com/junegunn/fzf" + (install-file "bin/fzf-tmux" + (string-append out "/bin")))))) + (add-after 'copy-binaries 'wrap-programs + (lambda* (#:key outputs inputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (ncurses (assoc-ref inputs "ncurses"))) + (wrap-program (string-append out "/bin/fzf-tmux") + `("PATH" ":" prefix (,(string-append ncurses "/bin"))))))) + (add-after 'install 'install-completions + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bash-completion (string-append out "/etc/bash_completion.d")) + (zsh-completion (string-append out "/share/zsh/site-functions"))) + (with-directory-excursion "src/github.com/junegunn/fzf" + (mkdir-p bash-completion) + (copy-file "shell/completion.bash" + (string-append bash-completion "/fzf")) + (mkdir-p zsh-completion) + (copy-file "shell/completion.zsh" + (string-append zsh-completion "/_fzf")))))))))) + (inputs + `(,@(package-inputs go-github-com-junegunn-fzf) + ("ncurses" ,ncurses))))) + (define-public go-github.com-howeyc-gopass (let ((commit "bf9dde6d0d2c004a008c27aaee91170c786f6db8") (revision "0")) From c4d616f7c665921e1329c75cd2d0cf05094b1306 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Mon, 1 Feb 2021 14:01:11 +0000 Subject: [PATCH 0817/1003] gnu: abseil-cpp: Update to 20200923.3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cpp.scm (abseil-cpp): Update to 20200923.3. [arguments]: Enable external googletest. * gnu/packages/patches/abseil-cpp-fix.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/cpp.scm | 7 +++++-- gnu/packages/patches/abseil-cpp-fix.patch | 16 ++++++++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/abseil-cpp-fix.patch diff --git a/gnu/local.mk b/gnu/local.mk index 8325c071bd..c4535daae9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -786,6 +786,7 @@ dist_patch_DATA = \ %D%/packages/patches/abcl-fix-build-xml.patch \ %D%/packages/patches/ableton-link-system-libraries-debian.patch \ %D%/packages/patches/abiword-explictly-cast-bools.patch \ + %D%/packages/patches/abseil-cpp-fix.patch \ %D%/packages/patches/adb-add-libraries.patch \ %D%/packages/patches/aegis-constness-error.patch \ %D%/packages/patches/aegis-perl-tempdir1.patch \ diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 02a82091b8..ba361ba5ca 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -678,7 +678,7 @@ point and then, after each tween step, plugging back the result.") (define-public abseil-cpp (package (name "abseil-cpp") - (version "20200225.2") + (version "20200923.3") (source (origin (method git-fetch) (uri (git-reference @@ -687,11 +687,14 @@ point and then, after each tween step, plugging back the result.") (file-name (git-file-name name version)) (sha256 (base32 - "0dwxg54pv6ihphbia0iw65r64whd7v8nm4wwhcz219642cgpv54y")))) + "1p4djhm1f011ficbjjxx3n8428p8481p20j4glpaawnpsi362hkl")) + ;; Remove after next googletest release and update. + (patches (search-patches "abseil-cpp-fix.patch")))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" "-DABSL_RUN_TESTS=ON" + "-DABSL_USE_EXTERNAL_GOOGLETEST=ON" ;; Needed, else we get errors like: ;; ;; ld: CMakeFiles/absl_periodic_sampler_test.dir/internal/periodic_sampler_test.cc.o: diff --git a/gnu/packages/patches/abseil-cpp-fix.patch b/gnu/packages/patches/abseil-cpp-fix.patch new file mode 100644 index 0000000000..38971448f3 --- /dev/null +++ b/gnu/packages/patches/abseil-cpp-fix.patch @@ -0,0 +1,16 @@ +The GTEST_ALLOW_UNINSTANTIATED_PARAMTERIZED_TEST macro was added to googletest +in commit 0b024bd9 on master. It has been used in an abseil-cpp release before +a googletest release. + +--- a/absl/container/internal/unordered_map_modifiers_test.h ++++ b/absl/container/internal/unordered_map_modifiers_test.h +@@ -286,7 +286,9 @@ class UniquePtrModifiersTest : public ::testing::Test { + } + }; + ++#ifdef GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST + GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(UniquePtrModifiersTest); ++#endif + + TYPED_TEST_SUITE_P(UniquePtrModifiersTest); + From 6457985e39d794c0f44d953d475aa19c41025d00 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Thu, 11 Mar 2021 20:53:15 +0000 Subject: [PATCH 0818/1003] gnu: abseil-cpp: Patch sterror_test. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/abseil-cpp-fix-gtest.patch: Renamed file. * gnu/packages/patches/abseil-cpp-fix-strerror_test.patch: New file. * gnu/local.mk (dist_patch_DATA): Rename / add files. * gnu/packages/cpp.scm (abseil-cpp)[source]: Use files. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 3 +- gnu/packages/cpp.scm | 5 ++- ...p-fix.patch => abseil-cpp-fix-gtest.patch} | 0 .../abseil-cpp-fix-strerror_test.patch | 42 +++++++++++++++++++ 4 files changed, 48 insertions(+), 2 deletions(-) rename gnu/packages/patches/{abseil-cpp-fix.patch => abseil-cpp-fix-gtest.patch} (100%) create mode 100644 gnu/packages/patches/abseil-cpp-fix-strerror_test.patch diff --git a/gnu/local.mk b/gnu/local.mk index c4535daae9..3d4147a879 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -786,7 +786,8 @@ dist_patch_DATA = \ %D%/packages/patches/abcl-fix-build-xml.patch \ %D%/packages/patches/ableton-link-system-libraries-debian.patch \ %D%/packages/patches/abiword-explictly-cast-bools.patch \ - %D%/packages/patches/abseil-cpp-fix.patch \ + %D%/packages/patches/abseil-cpp-fix-gtest.patch \ + %D%/packages/patches/abseil-cpp-fix-strerror_test.patch \ %D%/packages/patches/adb-add-libraries.patch \ %D%/packages/patches/aegis-constness-error.patch \ %D%/packages/patches/aegis-perl-tempdir1.patch \ diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index ba361ba5ca..2233d2e993 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -689,7 +689,10 @@ point and then, after each tween step, plugging back the result.") (base32 "1p4djhm1f011ficbjjxx3n8428p8481p20j4glpaawnpsi362hkl")) ;; Remove after next googletest release and update. - (patches (search-patches "abseil-cpp-fix.patch")))) + (patches + (search-patches + "abseil-cpp-fix-gtest.patch" + "abseil-cpp-fix-strerror_test.patch")))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" diff --git a/gnu/packages/patches/abseil-cpp-fix.patch b/gnu/packages/patches/abseil-cpp-fix-gtest.patch similarity index 100% rename from gnu/packages/patches/abseil-cpp-fix.patch rename to gnu/packages/patches/abseil-cpp-fix-gtest.patch diff --git a/gnu/packages/patches/abseil-cpp-fix-strerror_test.patch b/gnu/packages/patches/abseil-cpp-fix-strerror_test.patch new file mode 100644 index 0000000000..726149b015 --- /dev/null +++ b/gnu/packages/patches/abseil-cpp-fix-strerror_test.patch @@ -0,0 +1,42 @@ +From e2b1bab19a782cb62bb010d1c2925ab7314fb113 Mon Sep 17 00:00:00 2001 +diff --git a/absl/base/internal/strerror.cc b/absl/base/internal/strerror.cc +index d66ba120..0d6226fd 100644 +--- a/absl/base/internal/strerror.cc ++++ b/absl/base/internal/strerror.cc +@@ -51,7 +51,6 @@ const char* StrErrorAdaptor(int errnum, char* buf, size_t buflen) { + } + + std::string StrErrorInternal(int errnum) { +- absl::base_internal::ErrnoSaver errno_saver; + char buf[100]; + const char* str = StrErrorAdaptor(errnum, buf, sizeof buf); + if (*str == '\0') { +@@ -76,6 +75,7 @@ std::array* NewStrErrorTable() { + } // namespace + + std::string StrError(int errnum) { ++ absl::base_internal::ErrnoSaver errno_saver; + static const auto* table = NewStrErrorTable(); + if (errnum >= 0 && errnum < static_cast(table->size())) { + return (*table)[errnum]; +diff --git a/absl/base/internal/strerror_test.cc b/absl/base/internal/strerror_test.cc +index a53da97f..e32d5b5c 100644 +--- a/absl/base/internal/strerror_test.cc ++++ b/absl/base/internal/strerror_test.cc +@@ -62,12 +62,14 @@ TEST(StrErrorTest, MultipleThreads) { + ++counter; + errno = ERANGE; + const std::string value = absl::base_internal::StrError(i); ++ // EXPECT_* could change errno. Stash it first. ++ int check_err = errno; ++ EXPECT_THAT(check_err, Eq(ERANGE)); + // Only the GNU implementation is guaranteed to provide the + // string "Unknown error nnn". POSIX doesn't say anything. + if (!absl::StartsWith(value, "Unknown error ")) { +- EXPECT_THAT(absl::base_internal::StrError(i), Eq(expected_strings[i])); ++ EXPECT_THAT(value, Eq(expected_strings[i])); + } +- EXPECT_THAT(errno, Eq(ERANGE)); + } + }; + From aa45673746bac3b770f2c04fa5e118345ab185bc Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Fri, 19 Mar 2021 14:39:50 +0100 Subject: [PATCH 0819/1003] gnu: Add go-github-com-akosmarton-papipes. * gnu/packages/golang.scm (go-github-com-akosmarton-papipes): New variable. --- gnu/packages/golang.scm | 48 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 849227d693..06a581ed7e 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2020 raingloom ;;; Copyright © 2020 Martin Becze ;;; Copyright © 2021 Ricardo Wurmus +;;; Copyright © 2021 Guillaume Le Vaillant ;;; ;;; This file is part of GNU Guix. ;;; @@ -51,14 +52,15 @@ #:use-module (guix build-system go) #:use-module (gnu packages) #:use-module (gnu packages admin) + #:use-module (gnu packages base) #:use-module (gnu packages gcc) #:use-module (gnu packages glib) - #:use-module (gnu packages base) - #:use-module (gnu packages perl) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages pcre) #:use-module (gnu packages lua) #:use-module (gnu packages mp3) + #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pulseaudio) #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages web) @@ -6773,3 +6775,41 @@ compressed streams in Go.") (description "Package ed25519 implements the Ed25519 signature algorithm.") (license license:bsd-3)))) + +(define-public go-github-com-akosmarton-papipes + (let ((commit "3c63b4919c769c9c2b2d07e69a98abb0eb47fe64") + (revision "0")) + (package + (name "go-github-com-akosmarton-papipes") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/akosmarton/papipes") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "16p77p3d1v26qd3knxn087jqlad2qm23q8m796cdr66hrdc0gahq")))) + (build-system go-build-system) + (inputs + `(("pulseaudio" ,pulseaudio))) + (arguments + `(#:import-path "github.com/akosmarton/papipes" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("src/github.com/akosmarton/papipes/common.go" + "src/github.com/akosmarton/papipes/sink.go" + "src/github.com/akosmarton/papipes/source.go") + (("exec.Command\\(\"pactl\"") + (string-append "exec.Command(\"" + (assoc-ref inputs "pulseaudio") + "/bin/pactl\"")))))))) + (home-page "https://github.com/akosmarton/papipes") + (synopsis "Pulseaudio client library for Go") + (description + "This is a Pulseaudio client library in Golang for creating virtual +sinks and sources.") + (license license:expat)))) From efbc8db0f06566cf14aa3127e5bbf2dfae721e6e Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Fri, 19 Mar 2021 15:00:57 +0100 Subject: [PATCH 0820/1003] gnu: Add go-github-com-mesilliac-pulse-simple. * gnu/packages/golang.scm (go-github-com-mesilliac-pulse-simple): New variable. --- gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 06a581ed7e..30a36540f4 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -6813,3 +6813,31 @@ algorithm.") "This is a Pulseaudio client library in Golang for creating virtual sinks and sources.") (license license:expat)))) + +(define-public go-github-com-mesilliac-pulse-simple + (let ((commit "75ac54e19fdff88f4fbd82f45125134b602230b0") + (revision "0")) + (package + (name "go-github-com-mesilliac-pulse-simple") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mesilliac/pulse-simple") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1awwczsa9yy99p035ckajqfs8m6mab0lz82mzlj1c5cj9lnmwplj")))) + (build-system go-build-system) + (propagated-inputs + `(("pkg-config" ,pkg-config) + ("pulseaudio" ,pulseaudio))) + (arguments + '(#:import-path "github.com/mesilliac/pulse-simple")) + (home-page "https://github.com/mesilliac/pulse-simple") + (synopsis "Cgo bindings to PulseAudio's Simple API") + (description + "This packages provides Cgo bindings to PulseAudio's Simple API, to play +or capture raw audio.") + (license license:expat)))) From 3554527c53f02aeafbbf18515fae88430578f27a Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Fri, 19 Mar 2021 15:13:12 +0100 Subject: [PATCH 0821/1003] gnu: Add go-github-com-pborman-getopt. * gnu/packages/golang.scm (go-github-com-pborman-getopt): New variable. --- gnu/packages/golang.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 30a36540f4..0d434f8bea 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -6841,3 +6841,26 @@ sinks and sources.") "This packages provides Cgo bindings to PulseAudio's Simple API, to play or capture raw audio.") (license license:expat)))) + +(define-public go-github-com-pborman-getopt + (package + (name "go-github-com-pborman-getopt") + (version "2.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pborman/getopt") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sacv6g8cxfibxd3gnfjnzp7fynrnc4s2aaz5wbxivqqhvflc22l")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/pborman/getopt")) + (home-page "https://github.com/pborman/getopt") + (synopsis "Getopt style option parsing for Go") + (description + "This package provides traditional getopt processing for implementing +programs that use traditional command lines.") + (license license:bsd-3))) From 32c979675ece13753c0c91980e921785bac4623d Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Fri, 19 Mar 2021 15:24:03 +0100 Subject: [PATCH 0822/1003] gnu: Add go-go-uber-org-atomic. * gnu/packages/golang.scm (go-go-uber-org-atomic): New variable. --- gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 0d434f8bea..3729a46c4e 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -6864,3 +6864,29 @@ or capture raw audio.") "This package provides traditional getopt processing for implementing programs that use traditional command lines.") (license license:bsd-3))) + +(define-public go-go-uber-org-atomic + (package + (name "go-go-uber-org-atomic") + (version "1.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/uber-go/atomic") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0yxvb5sixh76cl9j8dpa97gznj0p8pmg2cdw0ypfwhd3ipx9wph1")))) + (build-system go-build-system) + (arguments + '(#:import-path "go.uber.org/atomic")) + (native-inputs + `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify) + ("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew))) + (home-page "https://go.uber.org/atomic") + (synopsis "Wrapper types for sync/atomic") + (description + "This package provides simple wrappers for primitive types to enforce +atomic access.") + (license license:expat))) From 08c3614125c0ebce9dc61b19fcd3d9d4ca6b6d8f Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Fri, 19 Mar 2021 15:29:46 +0100 Subject: [PATCH 0823/1003] gnu: Add go-go-uber-org-multierr. * gnu/packages/golang.scm (go-go-uber-org-multierr): New variable. --- gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 3729a46c4e..a3f33678fa 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -6890,3 +6890,29 @@ programs that use traditional command lines.") "This package provides simple wrappers for primitive types to enforce atomic access.") (license license:expat))) + +(define-public go-go-uber-org-multierr + (package + (name "go-go-uber-org-multierr") + (version "1.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/uber-go/multierr") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "162941s8f6a9x2w04qm4qa3zz0zylwag9149hywrj9ibp2nzcsqz")))) + (build-system go-build-system) + (arguments + '(#:import-path "go.uber.org/multierr")) + (native-inputs + `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify))) + (propagated-inputs + `(("go-go-uber-org-atomic" ,go-go-uber-org-atomic))) + (home-page "https://go.uber.org/multierr") + (synopsis "Error combination fo Go") + (description + "@code{multierr} allows combining one or more Go errors together.") + (license license:expat))) From 81976123b2da8609efff9b5dec4baf86bdd0b8fd Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Fri, 19 Mar 2021 15:45:34 +0100 Subject: [PATCH 0824/1003] gnu: Add go-golang-org-x-lint. * gnu/packages/golang.scm (go-golang-org-x-lint): New variable. --- gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index a3f33678fa..413c491b8d 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -6916,3 +6916,31 @@ atomic access.") (description "@code{multierr} allows combining one or more Go errors together.") (license license:expat))) + +(define-public go-golang-org-x-lint + (let ((commit "83fdc39ff7b56453e3793356bcff3070b9b96445") + (revision "0")) + (package + (name "go-golang-org-x-lint") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/lint") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ms3rs5hvpnm9bxbr5f9743i7hn2bbmqdmvzxq6nmi0f24ypv1l3")))) + (build-system go-build-system) + (arguments + '(#:import-path "golang.org/x/lint" + #:tests? #f)) ;; TODO: Fix tests + (propagated-inputs + `(("go-golang-org-x-tools" ,go-golang-org-x-tools))) + (home-page "https://golang.org/x/lint") + (synopsis "Linter for Go source code") + (description + "This is a linter for Go source code. Unlike gofmt, it doesn't +reformat the source code, it only prints out style mistakes.") + (license license:bsd-3)))) From 81aa7cea643099c8fa0b458d1319e9f412177881 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Fri, 19 Mar 2021 15:50:34 +0100 Subject: [PATCH 0825/1003] gnu: Add go-github-com-kisielk-gotool. * gnu/packages/golang.scm (go-github-com-kisielk-gotool): New variable. --- gnu/packages/golang.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 413c491b8d..4c2fb2acb7 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -6944,3 +6944,27 @@ atomic access.") "This is a linter for Go source code. Unlike gofmt, it doesn't reformat the source code, it only prints out style mistakes.") (license license:bsd-3)))) + +(define-public go-github-com-kisielk-gotool + (package + (name "go-github-com-kisielk-gotool") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kisielk/gotool") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/kisielk/gotool")) + (home-page "https://github.com/kisielk/gotool") + (synopsis "Go library of utility functions") + (description + "This package contains utility functions used to implement the standard +@code{cmd/go} tool, provided as a convenience to developers who want to write +tools with similar semantics.") + (license license:expat))) From 05d261b88e6fb86abeaa321a7ce44d9f7798cbd5 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Fri, 19 Mar 2021 16:14:51 +0100 Subject: [PATCH 0826/1003] gnu: Add go-honnef-co-go-tools. * gnu/packages/golang.scm (go-honnef-co-go-tools): New variable. --- gnu/packages/golang.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 4c2fb2acb7..1ad1e149a7 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -6968,3 +6968,36 @@ reformat the source code, it only prints out style mistakes.") @code{cmd/go} tool, provided as a convenience to developers who want to write tools with similar semantics.") (license license:expat))) + +(define-public go-honnef-co-go-tools + (package + (name "go-honnef-co-go-tools") + (version "0.1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dominikh/go-tools") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17li8jbw3cpn59kpcl3j3r2an4wkx3fc81xn0j4xgbjpkxh9493n")))) + (build-system go-build-system) + (arguments + `(#:import-path "honnef.co/go/tools" + #:tests? #f + ;; Source-only package + #:phases + (modify-phases %standard-phases + (delete 'build)))) + (propagated-inputs + `(("go-golang-org-x-tools" ,go-golang-org-x-tools) + ("go-github-com-kisielk-gotool",go-github-com-kisielk-gotool) + ("go-github-com-burntsushi-toml" ,go-github-com-burntsushi-toml))) + (home-page "https://honnef.co/go/tools") + (synopsis "Staticcheck advanced Go linter") + (description + "Staticcheck is a state of the art linter for the Go programming language. +Using static analysis, it finds bugs and performance issues, offers +simplifications, and enforces style rules.") + (license license:expat))) From caf3209a8fbe83bd1953d7d3e3b6bfe0277ed493 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sat, 20 Mar 2021 09:48:34 +0100 Subject: [PATCH 0827/1003] gnu: Add go-go-uber-org-zap. * gnu/packages/golang.scm (go-go-uber-org-zap): New variable. --- gnu/packages/golang.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 1ad1e149a7..d9988cd7ad 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -7001,3 +7001,36 @@ tools with similar semantics.") Using static analysis, it finds bugs and performance issues, offers simplifications, and enforces style rules.") (license license:expat))) + +(define-public go-go-uber-org-zap + (package + (name "go-go-uber-org-zap") + (version "1.16.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/uber-go/zap") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "05ix5wg1r8pgi7fb6084lg4x7mrkvzkh1nxa7zj337w5b9xj0myr")))) + (build-system go-build-system) + (arguments + '(#:import-path "go.uber.org/zap" + #:tests? #f)) ; TODO: Fix tests + (native-inputs + `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify) + ("go-golang-org-x-lint" ,go-golang-org-x-lint) + ("go-honnef-co-go-tools" ,go-honnef-co-go-tools))) + (propagated-inputs + `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors) + ("go-go-uber-org-atomic" ,go-go-uber-org-atomic) + ("go-go-uber-org-multierr" ,go-go-uber-org-multierr) + ("go-gopkg-in-yaml-v2" ,go-gopkg-in-yaml-v2))) + (home-page "https://go.uber.org/zap") + (synopsis "Logging library for Go") + (description + "This package provides a library for fast, structured, leveled logging in +Go.") + (license license:expat))) From 5adfaa6853213c7125f1dcac378b7c8f77c97ef3 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Sat, 20 Mar 2021 10:12:25 +0100 Subject: [PATCH 0828/1003] gnu: Add kappanhang. * gnu/packages/radio.scm (kappanhang): New variable. --- gnu/packages/radio.scm | 44 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 32a642f8f8..3378b36adb 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -47,6 +47,7 @@ #:use-module (gnu packages ghostscript) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages golang) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages image) @@ -78,6 +79,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) + #:use-module (guix build-system go) #:use-module (guix build-system python) #:use-module (guix build-system qt)) @@ -1356,3 +1358,45 @@ intended for people who want to learn receiving and sending morse code.") "This program contains algorithms to demodulate and decode AIS (Automatic Identification System) messages sent by ships and coast stations.") (license license:gpl2+))) + +(define-public kappanhang + (package + (name "kappanhang") + (version "1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nonoo/kappanhang") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ycy8avq5s7zspfi0d9klqcwwkpmcaz742cigd7pmcnbbhspcicp")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/nonoo/kappanhang" + #:install-source? #f)) + (inputs + `(("go-github-com-akosmarton-papipes",go-github-com-akosmarton-papipes) + ("go-github-com-fatih-color" ,go-github-com-fatih-color) + ("go-github-com-google-goterm" ,go-github-com-google-goterm) + ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty) + ("go-github-com-mesilliac-pulse-simple" + ,go-github-com-mesilliac-pulse-simple) + ("go-github-com-pborman-getopt" ,go-github-com-pborman-getopt) + ("go-go-uber-org-multierr" ,go-go-uber-org-multierr) + ("go-go-uber-org-zap" ,go-go-uber-org-zap))) + (home-page "https://github.com/nonoo/kappanhang") + (synopsis "Client for Icom RS-BA1 server") + (description + "Kappanhang remotely opens audio channels and a serial port to an Icom +RS-BA1 server. The application is mainly developed for connecting to the Icom +IC-705 transceiver, which has built-in WiFi and RS-BA1 server. + +Compatible hardware/software: +@itemize +@item Icom RS-BA1 server software, +@item Icom IC-705 +@item Icom IC-9700 +@end itemize\n") + (license license:expat))) From f5e69549ba5d6efcd03f4f50f771a8a76ed73c5b Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 25 Feb 2021 16:02:10 -0500 Subject: [PATCH 0829/1003] gnu: Add usrsctp. * gnu/packages/networking.scm (usrsctp): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/networking.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index e95e4870e9..3f6023c966 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -142,6 +142,35 @@ #:use-module (gnu packages xml) #:use-module (ice-9 match)) +(define-public usrsctp + (package + (name "usrsctp") + (version "0.9.5.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/sctplab/usrsctp") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10ndzkip8blgkw572n3dicl6mgjaa7kygwn3vls80liq92vf1sa9")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("which" ,which))) + (home-page "https://github.com/sctplab/usrsctp/") + (synopsis "SCTP user-land implementation") + (description "UsrSCTP is a portable SCTP userland stack. SCTP is a message +oriented, reliable transport protocol with direct support for multihoming that +runs on top of IP or UDP, and supports both v4 and v6 versions.") + (license license:bsd-3))) + (define-public axel (package (name "axel") From 7f7ad800b08a89bcfe451085d8a93179d684b03c Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Thu, 25 Feb 2021 19:45:04 -0500 Subject: [PATCH 0830/1003] gnu: Add qhttp. * gnu/packages/web.scm (qhttp): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/web.scm | 74 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 643de6ad6a..b3be3b734e 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -77,6 +77,7 @@ #:use-module (guix build-system ant) #:use-module (guix build-system cargo) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system go) @@ -170,6 +171,79 @@ #:use-module (gnu packages xml) #:use-module ((srfi srfi-1) #:select (delete-duplicates))) +(define-public qhttp + (package + (name "qhttp") + (version "3.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/azadkuh/qhttp") + (commit (string-append "version-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cx23g4y4k4v9p5ph6h7gfhp8sfy1gcdv1g6bl44hppar1y0zfdq")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no target + #:imported-modules + ((guix build copy-build-system) + ,@%gnu-build-system-modules) + #:modules + (((guix build copy-build-system) #:prefix copy:) + (guix build gnu-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "commondir.pri" + (("\\$\\$PRJDIR/xbin") + (string-append (assoc-ref outputs "out") "/lib")) + (("-L") + "-lhttp_parser -L") + (("\\$\\$PRJDIR/3rdparty") + "")) + (substitute* "src/src.pro" + (("SOURCES \\+= \\$\\$PRJDIR/3rdparty/http-parser/http_parser.c") + "") + (("HEADERS \\+= \\$\\$PRJDIR/3rdparty/http-parser/http_parser.h") + "")) + (substitute* '("src/private/qhttpbase.hpp" "src/qhttpabstracts.cpp") + (("http-parser/http_parser.h") + "http_parser.h")) + #t)) + (replace 'configure + (lambda _ (invoke "qmake"))) + (replace 'install + (lambda args + (apply (assoc-ref copy:%standard-phases 'install) + #:install-plan + '(("src" "include" + #:include-regexp ("\\.hpp$"))) + args))) + (add-after 'install 'remove-examples + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion + (string-append (assoc-ref outputs "out") "/lib") + (for-each delete-file + (list + "basic-server" + "helloworld" + "postcollector"))) + #t))))) + (inputs + `(("http-parser" ,http-parser) + ("qtbase" ,qtbase))) + (home-page "https://github.com/azadkuh/qhttp/") + (synopsis "Qt-based HTTP Library") + (description + "Qhttp is a light-weight and asynchronous HTTP library +(both server & client) in Qt5 and C++14.") + (license license:expat))) + (define-public httpd (package (name "httpd") From 54fd3167ff4db4f18de154ff9d78e7dd0168ce40 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Fri, 26 Feb 2021 16:16:02 -0500 Subject: [PATCH 0831/1003] gnu: Add qite. * gnu/packages/qt.scm (qite): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/qt.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index d58609e547..d718b520bd 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -105,6 +105,39 @@ #:use-module (gnu packages xml) #:use-module (srfi srfi-1)) +(define-public qite + (let ((commit "75fb3b6bbd5c6a5a8fc35e08a6efbfb588ed546a") + (revision "74")) + (package + (name "qite") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/Ri0n/qite") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0jmmgy9pvk9hwwph1nwy7hxhczy8drhl4ymhnjjn6yx7bckssvsq")))) + (build-system qt-build-system) + (arguments + `(#:tests? #f ; no target + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "libqite") + #t))))) + (inputs + `(("qtbase" ,qtbase) + ("qtmultimedia" ,qtmultimedia))) + (home-page "https://github.com/Ri0n/qite/") + (synopsis "Qt Interactive Text Elements") + (description "Qite allows to manage interactive elements on QTextEdit.") + (license license:asl2.0)))) + (define-public qt5ct (package (name "qt5ct") From b09967bc587dd61c638da3d6fb5bbda7e87ed85c Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Sun, 7 Mar 2021 01:47:19 -0500 Subject: [PATCH 0832/1003] gnu: Add psi-plus. * gnu/packages/messaging.scm (psi-plus): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/messaging.scm | 135 +++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index af649f6321..c282080361 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -2777,4 +2777,139 @@ as phones, embedded computers or microcontrollers.") ;; Dual licensed. (license (list license:epl1.0 license:edl1.0)))) +(define-public psi-plus + (package + (name "psi-plus") + (version "1.5.1482") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/psi-plus/psi-plus-snapshots") + (commit version))) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + `(begin + (delete-file-recursively "3rdparty"))) + (sha256 + (base32 "0lcx616hchwf492m1dm8ddb4qd2pmgf703ajnnb0y9ky99kgg8q2")))) + (build-system qt-build-system) + (arguments + `(#:tests? #f ; No target + #:imported-modules + (,@%qt-build-system-modules + (guix build glib-or-gtk-build-system)) + #:modules + ((guix build qt-build-system) + ((guix build glib-or-gtk-build-system) + #:prefix glib-or-gtk:) + (guix build utils)) + #:configure-flags + (list + "-DBUILD_PSIMEDIA=ON" ; For A/V support + "-DENABLE_PLUGINS=ON" + "-DUSE_HUNSPELL=OFF" ; Use Enchant instead + "-DUSE_ENCHANT=ON" + "-DUSE_CCACHE=OFF") ; Not required + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda _ + (substitute* "CMakeLists.txt" + (("\\$\\{PROJECT_SOURCE_DIR\\}/3rdparty/http-parser/http_parser.h") + "") + (("\\$\\{PROJECT_SOURCE_DIR\\}/3rdparty/qhttp/qhttp.pro") + "") + (("\\$\\{PROJECT_SOURCE_DIR\\}/3rdparty/qite/qite.pro") + "") + (("add_subdirectory\\( 3rdparty \\)") + "")) + (substitute* "src/CMakeLists.txt" + (("\\$\\{PROJECT_SOURCE_DIR\\}/3rdparty/qite/libqite") + "") + (("\\$\\{PROJECT_SOURCE_DIR\\}/3rdparty/http-parser") + "") + (("\\$\\{PROJECT_SOURCE_DIR\\}/3rdparty/qhttp/src/private") + "") + (("\\$\\{PROJECT_SOURCE_DIR\\}/3rdparty/qhttp/src") + "") + (("\\$\\{PROJECT_SOURCE_DIR\\}/3rdparty") + "") + (("add_dependencies\\(\\$\\{PROJECT_NAME\\} qhttp\\)") + "target_link_libraries(${PROJECT_NAME} qhttp)")) + (substitute* "src/src.cmake" + (("include\\(\\$\\{PROJECT_SOURCE_DIR\\}/3rdparty/qite/libqite/libqite.cmake\\)") + "list(APPEND EXTRA_LIBS qite)")) + (substitute* '("src/filesharingmanager.h" "src/widgets/psirichtext.cpp" + "src/filesharingmanager.cpp" "src/widgets/psitextview.cpp" + "src/chatview_te.cpp" "src/msgmle.cpp") + (("qite.h") + "qite/qite.h") + (("qiteaudio.h") + "qite/qiteaudio.h") + (("qiteaudiorecorder.h") + "qite/qiteaudiorecorder.h")) + #t)) + (add-after 'install 'wrap-env + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (for-each + (lambda (name) + (let ((file (string-append out "/bin/" name)) + (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")) + (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) + (wrap-program file + `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)) + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))) + '("psi-plus"))) + #t)) + (add-after 'wrap-env 'glib-or-gtk-compile-schemas + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas)) + (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) + (native-inputs + `(("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("ruby" ,ruby))) + (inputs + `(("blake2" ,libb2) + ("dbus" ,dbus) + ("enchant" ,enchant) + ("glib" ,glib) + ("gstreamer" ,gstreamer) + ("gst-plugins-base" ,gst-plugins-base) + ("http-parser" ,http-parser) + ("libgcrypt" ,libgcrypt) + ("libgpg-error" ,libgpg-error) + ("libidn" ,libidn) + ("libotr" ,libotr) + ("libsignal-protocol-c" ,libsignal-protocol-c) + ("libtidy" ,tidy-html) + ("openssl" ,openssl) + ("qca" ,qca) + ("qhttp" ,qhttp) + ("qite" ,qite) + ("qtbase" ,qtbase) + ("qtkeychain" ,qtkeychain) + ("qtmultimedia" ,qtmultimedia) + ("qtsvg" ,qtsvg) + ("qtx11extras" ,qtx11extras) + ("usrsctp" ,usrsctp) + ("x11" ,libx11) + ("xext" ,libxext) + ("xcb" ,libxcb) + ("xss" ,libxscrnsaver) + ("zlib" ,zlib))) + (home-page "https://psi-plus.com/") + (synopsis "Qt-based XMPP Client") + (description + "Psi+ is a spin-off of Psi XMPP client. It is a powerful XMPP client +designed for experienced users.") + (license license:gpl2+))) + ;;; messaging.scm ends here From bb804a0d58687dcb3f3ba904dcb958c84b8b84d5 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 20 Mar 2021 18:21:58 +0100 Subject: [PATCH 0833/1003] gnu: glib: Increase timeout for armhf builds. * gnu/packages/glib.scm (glib)[arguments]: Increase timeout for armhf builds. --- gnu/packages/glib.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 5f710a4a38..a62a31a87b 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -235,7 +235,7 @@ shared NFS home directories.") (lambda _ (substitute* "meson.build" (("test_timeout = 60") - "test_timeout = 90") + "test_timeout = 120") (("test_timeout_slow = 120") "test_timeout_slow = 180"))))) '()) @@ -391,9 +391,10 @@ dynamic loading, and an object system.") (home-page "https://developer.gnome.org/glib/") (license license:lgpl2.1+))) -(define glib/fixed +(define-public glib/fixed (package (inherit glib) + (properties '()) (source (origin (inherit (package-source glib)) (patches From 13953f0e7ec230e701faa679bcf2c1d6a3ab4693 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 20 Mar 2021 18:25:44 +0100 Subject: [PATCH 0834/1003] gnu: glib: Partially revert bb804a0d58687dcb3f3ba904dcb958c84b8b84d5. It contained some changes used during tests that should not have been commited. * gnu/packages/glib (glib/fixed): Do not make public. --- gnu/packages/glib.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index a62a31a87b..9c3cd75624 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -391,10 +391,9 @@ dynamic loading, and an object system.") (home-page "https://developer.gnome.org/glib/") (license license:lgpl2.1+))) -(define-public glib/fixed +(define glib/fixed (package (inherit glib) - (properties '()) (source (origin (inherit (package-source glib)) (patches From cec4f5f556246dd48c89234d635f0a7124f57a55 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 3 Mar 2021 16:20:22 -0500 Subject: [PATCH 0835/1003] gnu: guile-lib: Update to 0.2.7. * gnu/packages/guile-xyz.scm (guile-lib): Remove trailing #t. [source]: Remove snippet and modules field. [phases]{patch-for-cross-compilation}: Remove phase. [native-inputs]: Add pkg-config. --- gnu/packages/guile-xyz.scm | 41 ++++++-------------------------------- 1 file changed, 6 insertions(+), 35 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index d89b9954de..9f4118f083 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -16,7 +16,7 @@ ;;; Copyright © 2017 Theodoros Foradis ;;; Copyright © 2017 Nikita ;;; Copyright © 2017, 2018, 2021 Tobias Geerinckx-Rice -;;; Copyright © 2018 Maxim Cournoyer +;;; Copyright © 2018, 2021 Maxim Cournoyer ;;; Copyright © 2018, 2019, 2020 Arun Isaac ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2018 Eric Bavier @@ -2192,46 +2192,19 @@ library.") (define-public guile-lib (package (name "guile-lib") - (version "0.2.6.1") + (version "0.2.7") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/guile-lib/guile-lib-" version ".tar.gz")) (sha256 (base32 - "0aizxdif5dpch9cvs8zz5g8ds5s4xhfnwza2il5ji7fv2h7ks7bd")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Work around miscompilation on Guile 3.0.0 at -O2: - ;; . - (substitute* "src/md5.scm" - (("\\(define f-ash ash\\)") - "(define f-ash (@ (guile) ash))\n") - (("\\(define f-add \\+\\)") - "(define f-add (@ (guile) +))\n")) - #t)))) + "1ph4z4a64m75in36pdb4dw63dzdq3hdgh16gq33q460jby23pvz4")))) (build-system gnu-build-system) (arguments - '(#:make-flags - '("GUILE_AUTO_COMPILE=0") ; to prevent guild errors + '(#:make-flags '("GUILE_AUTO_COMPILE=0") ;placate guild warnings #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-for-cross-compilation - (lambda _ - (substitute* "configure.ac" - (("GUILE_FLAGS") - "GUILE_FLAGS -if test \"$cross_compiling\" != no; then - GUILE_TARGET=\"--target=$host_alias\" - AC_SUBST([GUILE_TARGET]) -fi -")) - (substitute* "am/guile.mk" - (("guild compile") "guild compile $(GUILE_TARGET)")) - (delete-file "configure") ; trigger the bootstrap phase to run - ; autoreconf - #t)) (add-before 'configure 'patch-module-dir (lambda _ (substitute* "src/Makefile.in" @@ -2239,8 +2212,7 @@ fi "moddir = $(datadir)/guile/site/@GUILE_EFFECTIVE_VERSION@\n") (("^godir = ([[:graph:]]+)") "godir = \ -$(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")) - #t))))) +$(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n"))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -2248,7 +2220,7 @@ $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")) ("guile" ,guile-3.0) ("pkg-config" ,pkg-config))) (inputs - `(("guile" ,guile-3.0))) + `(("guile" ,guile-3.0))) ;for cross-compilation (home-page "https://www.nongnu.org/guile-lib/") (synopsis "Collection of useful Guile Scheme modules") (description @@ -2256,7 +2228,6 @@ $(libdir)/guile/@GUILE_EFFECTIVE_VERSION@/site-ccache\n")) modules, allowing for people to cooperate integrating their generic Guile modules into a coherent library. Think \"a down-scaled, limited-scope CPAN for Guile\".") - ;; The whole is under GPLv3+, but some modules are under laxer ;; distribution terms such as LGPL and public domain. See `COPYING' for ;; details. From 25db3b2f8bb4a18e9405d2cd32aa899e0007f236 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 20 Mar 2021 14:19:29 -0400 Subject: [PATCH 0836/1003] doc: Remove the guile-lib/htmlprag-fixed package. This hotfix package is no longer necessary as the ability to parameterize the way htmlprag tokenizes HTML was added in guile-lib 0.2.7. * doc/build.scm (guile-lib/htmlprag-fixed): Remove variable. (html-manual-identifier-index): Replace guile-lib/htmlprag-fixed by guile-lib, and make set the %strict-tokenizer? parameter to #t. (syntax-highlighted-html): Likewise. --- doc/build.scm | 34 ++++++---------------------------- 1 file changed, 6 insertions(+), 28 deletions(-) diff --git a/doc/build.scm b/doc/build.scm index d77fc0a700..e96df1991f 100644 --- a/doc/build.scm +++ b/doc/build.scm @@ -182,32 +182,6 @@ as well as images, OS examples, and translations." "-c" "EXTRA_HEAD=")) -(define guile-lib/htmlprag-fixed - ;; Guile-Lib with a hotfix for (htmlprag). - (package - (inherit guile-lib) - (arguments - (substitute-keyword-arguments (package-arguments guile-lib) - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-before 'build 'fix-htmlprag - (lambda _ - ;; When parsing - ;; "

    foo

    \n
    ", - ;; 'html->shtml' would mistakenly close 'blockquote' right - ;; before

    . This patch removes 'p' from the - ;; 'parent-constraints' alist to fix that. - (substitute* "src/htmlprag.scm" - (("^[[:blank:]]*\\(p[[:blank:]]+\\. \\(body td th\\)\\).*") - "")) - #t)) - (add-before 'check 'skip-known-failure - (lambda _ - ;; XXX: The above change causes one test failure among - ;; the htmlprag tests. - (setenv "XFAIL_TESTS" "htmlprag.scm") - #t)))))))) - (define (normalize-language-code language) ;XXX: deduplicate ;; Normalize LANGUAGE. For instance, "zh_CN" becomes "zh-cn". (string-map (match-lambda @@ -224,7 +198,7 @@ key is an identifier and the associated value is the URL reference pointing to that identifier. The URL is constructed by concatenating BASE-URL to the actual file name." (define build - (with-extensions (list guile-lib/htmlprag-fixed) + (with-extensions (list guile-lib) (with-imported-modules '((guix build utils)) #~(begin (use-modules (guix build utils) @@ -236,6 +210,8 @@ actual file name." (ice-9 threads) (ice-9 pretty-print)) + (%strict-tokenizer? #t) + (define file-url (let ((prefix (string-append #$manual "/"))) (lambda (file) @@ -380,7 +356,7 @@ actual file name." to (1) add them a link to SYNTAX-CSS-URL, and (2) highlight the syntax of all its

     blocks (as produced by 'makeinfo --html')."
       (define build
    -    (with-extensions (list guile-lib/htmlprag-fixed guile-syntax-highlight)
    +    (with-extensions (list guile-lib guile-syntax-highlight)
           (with-imported-modules '((guix build utils))
             #~(begin
                 (use-modules (htmlprag)
    @@ -394,6 +370,8 @@ its 
     blocks (as produced by 'makeinfo --html')."
                              (ice-9 threads)
                              (ice-9 vlist))
     
    +            (%strict-tokenizer? #t)
    +
                 (define (pair-open/close lst)
                   ;; Pair 'open' and 'close' tags produced by 'highlights' and
                   ;; produce nested 'paren' tags instead.
    
    From 52e64b21be50e2c5febd7bf1accd88ffdc05a4bb Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
    Date: Sat, 20 Mar 2021 18:02:50 +0100
    Subject: [PATCH 0837/1003] doc: Fix syntax of '.guix-channel' dependency
     example.
    
    Reported by ison .
    
    * doc/guix.texi (Declaring Channel Dependencies): Remove quote in
    'dependencies' example.
    ---
     doc/guix.texi | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/doc/guix.texi b/doc/guix.texi
    index 386169b2a5..25aea61492 100644
    --- a/doc/guix.texi
    +++ b/doc/guix.texi
    @@ -5267,7 +5267,7 @@ The meta-data file should contain a simple S-expression like this:
      (version 0)
      (dependencies
       (channel
    -   (name 'some-collection)
    +   (name some-collection)
        (url "https://example.org/first-collection.git")
     
        ;; The 'introduction' bit below is optional: you would
    @@ -5278,7 +5278,7 @@ The meta-data file should contain a simple S-expression like this:
           (commit "a8883b58dc82e167c96506cf05095f37c2c2c6cd")
           (signer "CABB A931 C0FF EEC6 900D  0CFB 090B 1199 3D9A EBB5"))))
       (channel
    -   (name 'some-other-collection)
    +   (name some-other-collection)
        (url "https://example.org/second-collection.git")
        (branch "testing"))))
     @end lisp
    
    From 1710e8cb59e2ef6f1e0eb19235b6a4f1b8158bc4 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
    Date: Sat, 20 Mar 2021 21:53:27 +0100
    Subject: [PATCH 0838/1003] gnu-maintenance: Accept underscores as
     package/version separators.
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    Fixes .
    Reported by Léo Le Bouter .
    
    * guix/gnu-maintenance.scm (%tarball-rx, %package-name-rx): Accept
    underscore as the package/version separator in tarball names.
    * tests/gnu-maintenance.scm ("release-file?"): Add "mediainfo" test.
    ---
     guix/gnu-maintenance.scm  | 5 +++--
     tests/gnu-maintenance.scm | 5 +++--
     2 files changed, 6 insertions(+), 4 deletions(-)
    
    diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm
    index d9c97beb29..7bd08c1208 100644
    --- a/guix/gnu-maintenance.scm
    +++ b/guix/gnu-maintenance.scm
    @@ -241,7 +241,8 @@ network to check in GNU's database."
       ;; The .zip extensions is notably used for freefont-ttf.
       ;; The "-src" pattern is for "TeXmacs-1.0.7.9-src.tar.gz".
       ;; The "-gnu[0-9]" pattern is for "icecat-38.4.0-gnu1.tar.bz2".
    -  (make-regexp "^([^.]+)-([0-9]|[^-])+(-(src|gnu[0-9]))?\\.(tar\\.|zip$)"))
    +  ;; Accept underscores as in "PKG_1.2.tar.gz" for some non-GNU packages.
    +  (make-regexp "^([^.]+)[-_]([0-9]|[^-])+(-(src|gnu[0-9]))?\\.(tar\\.|zip$)"))
     
     (define %alpha-tarball-rx
       (make-regexp "^.*-.*[0-9](-|~)?(alpha|beta|rc|RC|cvs|svn|git)-?[0-9\\.]*\\.tar\\."))
    @@ -594,7 +595,7 @@ list available from %GNU-FILE-LIST-URI over HTTP(S)."
     (define %package-name-rx
       ;; Regexp for a package name, e.g., "foo-X.Y".  Since TeXmacs uses
       ;; "TeXmacs-X.Y-src", the `-src' suffix is allowed.
    -  (make-regexp "^(.*)-(([0-9]|\\.)+)(-src)?"))
    +  (make-regexp "^(.*)[-_](([0-9]|\\.)+)(-src)?"))
     
     (define (gnu-package-name->name+version name+version)
       "Return the package name and version number extracted from NAME+VERSION."
    diff --git a/tests/gnu-maintenance.scm b/tests/gnu-maintenance.scm
    index 4f2f1ae943..a3e48a0933 100644
    --- a/tests/gnu-maintenance.scm
    +++ b/tests/gnu-maintenance.scm
    @@ -1,5 +1,5 @@
     ;;; GNU Guix --- Functional package management for GNU
    -;;; Copyright © 2015 Ludovic Courtès 
    +;;; Copyright © 2015, 2021 Ludovic Courtès 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -29,7 +29,8 @@
                   '(("gcc" "gcc-5.3.0.tar.bz2")
                     ("texmacs" "TeXmacs-1.0.7.9-src.tar.gz")
                     ("icecat" "icecat-38.4.0-gnu1.tar.bz2")
    -                ("mit-scheme" "mit-scheme-9.2.tar.gz")))
    +                ("mit-scheme" "mit-scheme-9.2.tar.gz")
    +                ("mediainfo" "mediainfo_20.09.tar.xz")))
            (every (lambda (project+file)
                     (not (apply release-file? project+file)))
                   '(("guile" "guile-www-1.1.1.tar.gz")
    
    From e64ff72a145c6015965204da9160d5cee895a811 Mon Sep 17 00:00:00 2001
    From: nixo 
    Date: Sat, 30 Jan 2021 21:58:01 +0100
    Subject: [PATCH 0839/1003] doc: Fix typo in julia-build-system.
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    * doc/guix.texi (julia-build-system): replace argument wrongly named
      julia-file-name with the correct julia-package-name.
    
    Signed-off-by: Ludovic Courtès 
    ---
     doc/guix.texi | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/doc/guix.texi b/doc/guix.texi
    index 25aea61492..843f2cfb87 100644
    --- a/doc/guix.texi
    +++ b/doc/guix.texi
    @@ -7749,7 +7749,7 @@ julia} packages, which essentially is similar to running @samp{julia -e
     Tests are run by calling @code{/test/runtests.jl}.
     
     The Julia package name is read from the file @file{Project.toml}.  This
    -value can be overridden by passing the argument @code{#:julia-file-name}
    +value can be overridden by passing the argument @code{#:julia-package-name}
     (which must be correctly capitalized).
     
     For packages requiring shared library dependencies, you may need to write the
    
    From 81d45a66d57158ec1d07723d99eb0b9e789b8ec2 Mon Sep 17 00:00:00 2001
    From: nixo 
    Date: Sat, 30 Jan 2021 15:47:06 +0100
    Subject: [PATCH 0840/1003] gnu: julia-adapt: Set file-name according to
     standards.
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    * gnu/packages/julia-xyz.scm (julia-adapt)[source]: Change 'file-name'.
    
    Signed-off-by: Ludovic Courtès 
    ---
     gnu/packages/julia-xyz.scm | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
    index 34dba958ce..c9e1d0df8c 100644
    --- a/gnu/packages/julia-xyz.scm
    +++ b/gnu/packages/julia-xyz.scm
    @@ -32,7 +32,7 @@
            (uri (git-reference
                  (url "https://github.com/JuliaGPU/Adapt.jl")
                  (commit (string-append "v" version))))
    -       (file-name "Adapt")
    +       (file-name (git-file-name name version))
            (sha256
             (base32 "1lks6k3a1gvwlplld47nh6xfy3nnlpc0vhkzg6zg0qn33qdmavrg"))))
         (build-system julia-build-system)
    
    From 03010d5d3efd4ac19c4bddea67cbfe09c129db8d Mon Sep 17 00:00:00 2001
    From: nixo 
    Date: Sat, 30 Jan 2021 15:47:29 +0100
    Subject: [PATCH 0841/1003] gnu: Add julia-benchmarktools.
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    * gnu/packages/julia-xyz.scm (julia-benchmarktools): New variable.
    
    Signed-off-by: Ludovic Courtès 
    ---
     gnu/packages/julia-xyz.scm | 22 ++++++++++++++++++++++
     1 file changed, 22 insertions(+)
    
    diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
    index c9e1d0df8c..09043c593b 100644
    --- a/gnu/packages/julia-xyz.scm
    +++ b/gnu/packages/julia-xyz.scm
    @@ -44,6 +44,28 @@ acts like @code{convert(T, x)}, but without the restriction of returning a
     be GPU compatible without throwing away the wrapper.")
         (license license:expat)))
     
    +(define-public julia-benchmarktools
    +  (package
    +    (name "julia-benchmarktools")
    +    (version "0.5.0")
    +    (source
    +     (origin
    +       (method git-fetch)
    +       (uri (git-reference
    +             (url "https://github.com/JuliaCI/BenchmarkTools.jl")
    +             (commit (string-append "v" version))))
    +       (file-name (git-file-name name version))
    +       (sha256
    +        (base32 "0nsx21m3i5h22lkgyrmfj6r085va6ag40khwssqs8y7l0wz98lvp"))))
    +    (build-system julia-build-system)
    +    (propagated-inputs `(("julia-json" ,julia-json)))
    +    (home-page "https://github.com/JuliaCI/BenchmarkTools.jl")
    +    (synopsis "Benchmarking framework for the Julia language")
    +    (description "@code{BenchmarkTools.jl} makes performance tracking of Julia
    +code easy by supplying a framework for writing and running groups of
    +benchmarks as well as comparing benchmark results.")
    +    (license license:expat)))
    +
     (define-public julia-compat
       (package
         (name "julia-compat")
    
    From a06db9c1ee8b36021d384e7552f1cf1c41208517 Mon Sep 17 00:00:00 2001
    From: nixo 
    Date: Tue, 19 Jan 2021 11:23:10 +0100
    Subject: [PATCH 0842/1003] gnu: Add julia-jllwrappers.
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    * gnu/packages/julia-xyz.scm (julia-jllwrappers): New variable.
    * doc/guix.texi (julia-build-system): Document how to use jllwrappers to use
      to guix binary packages.
    
    Co-authored-by: Ludovic Courtès 
    ---
     doc/guix.texi              | 29 +++++++++++++++++++++----
     gnu/packages/julia-xyz.scm | 43 ++++++++++++++++++++++++++++++++++++++
     2 files changed, 68 insertions(+), 4 deletions(-)
    
    diff --git a/doc/guix.texi b/doc/guix.texi
    index 843f2cfb87..94ecd2c247 100644
    --- a/doc/guix.texi
    +++ b/doc/guix.texi
    @@ -7752,10 +7752,31 @@ The Julia package name is read from the file @file{Project.toml}.  This
     value can be overridden by passing the argument @code{#:julia-package-name}
     (which must be correctly capitalized).
     
    -For packages requiring shared library dependencies, you may need to write the
    -@file{/deps/deps.jl} file manually.  It's usually a line of @code{const
    -variable = /gnu/store/library.so} for each dependency, plus a void function
    -@code{check_deps() = nothing}.
    +Julia packages usually manage they binary dependencies via
    +@code{JLLWrappers.jl}, a Julia package that creates a module (named
    +after the wrapped library followed by @code{_jll.jl}.
    +
    +To add the binary path @code{_jll.jl} packages, you need to patch the
    +files under @file{src/wrappers/}, replacing the call to the macro
    +@code{JLLWrappers.@@generate_wrapper_header}, adding as a secound
    +argument containing the store path the binary.
    +
    +As an example, in the MbedTLS Julia package, we add a build phase
    +(@pxref{Build Phases}) to insert the absolute file name of the wrapped
    +MbedTLS package:
    +
    +@lisp
    +(add-after 'unpack 'override-binary-path
    +  (lambda* (#:key inputs #:allow-other-keys)
    +    (for-each (lambda (wrapper)
    +                (substitute* wrapper
    +                  (("generate_wrapper_header.*")
    +                   (string-append
    +                    "generate_wrapper_header(\"MbedTLS\", \""
    +                    (assoc-ref inputs "mbedtls-apache") "\")\n"))))
    +              ;; There's a Julia file for each platform, override them all.
    +              (find-files "src/wrappers/" "\\.jl$"))))
    +@end lisp
     
     Some older packages that aren't using @file{Package.toml} yet, will require
     this file to be created, too.  The function @code{julia-create-package-toml}
    diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
    index 09043c593b..b89733c412 100644
    --- a/gnu/packages/julia-xyz.scm
    +++ b/gnu/packages/julia-xyz.scm
    @@ -147,6 +147,49 @@ scaled by a constant factor.  Consequently, they have a fixed number of
     digits (bits) after the decimal (radix) point.")
         (license license:expat)))
     
    +(define-public julia-jllwrappers
    +  (package
    +    (name "julia-jllwrappers")
    +    (version "1.2.0")
    +    (source
    +     (origin
    +       (method git-fetch)
    +       (uri (git-reference
    +             (url "https://github.com/JuliaPackaging/JLLWrappers.jl")
    +             (commit (string-append "v" version))))
    +       (file-name (git-file-name name version))
    +       (sha256
    +        (base32 "1sj3mi2dcc13apqfpy401wic5n0pgbck1p98b2g3zw0mln9s83m4"))))
    +    (arguments
    +     ;; Wants to download stuff
    +     '(#:tests? #f
    +       #:phases
    +       (modify-phases %standard-phases
    +         (add-after 'unpack 'custom-override-path
    +           (lambda* (#:key inputs #:allow-other-keys)
    +             ;; Make @generate_wrapper_header take an optional argument that
    +             ;; guix packagers can pass to override the default "override"
    +             ;; binary path.  This won't be needed when something like
    +             ;; https://github.com/JuliaPackaging/JLLWrappers.jl/pull/27
    +             ;; will be merged.
    +             (substitute* "src/wrapper_generators.jl"
    +               (("generate_wrapper_header.*")
    +                "generate_wrapper_header(src_name, override_path = nothing)\n")
    +               (("pkg_dir = .*" all)
    +                (string-append
    +                 all "\n" "override = something(override_path,"
    +                 "joinpath(dirname(pkg_dir), \"override\"))\n"))
    +               (("@static if isdir.*") "@static if isdir($override)\n")
    +               (("return joinpath.*") "return $override\n"))
    +             #t)))))
    +    (build-system julia-build-system)
    +    (home-page "https://github.com/JuliaPackaging/JLLWrappers.jl")
    +    (synopsis "Julia macros used by JLL packages")
    +    (description "This package contains Julia macros that enable JLL packages
    +to generate themselves.  It is not intended to be used by users, but rather is
    +used in autogenerated packages via @code{BinaryBuilder.jl}.")
    +    (license license:expat)))
    +
     (define-public julia-json
       (package
         (name "julia-json")
    
    From 3291e4ba97e94d09a35615d79ca07c43fa679403 Mon Sep 17 00:00:00 2001
    From: nixo 
    Date: Tue, 19 Jan 2021 11:23:37 +0100
    Subject: [PATCH 0843/1003] gnu: Add julia-mbedtls-jll.
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    * gnu/packages/julia-xyz.scm (julia-mbedtls-jll): New variable.
    
    Signed-off-by: Ludovic Courtès 
    ---
     gnu/packages/julia-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++-
     1 file changed, 42 insertions(+), 1 deletion(-)
    
    diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
    index b89733c412..ab3497700a 100644
    --- a/gnu/packages/julia-xyz.scm
    +++ b/gnu/packages/julia-xyz.scm
    @@ -20,7 +20,8 @@
       #:use-module ((guix licenses) #:prefix license:)
       #:use-module (guix packages)
       #:use-module (guix git-download)
    -  #:use-module (guix build-system julia))
    +  #:use-module (guix build-system julia)
    +  #:use-module (gnu packages tls))
     
     (define-public julia-adapt
       (package
    @@ -215,6 +216,46 @@ used in autogenerated packages via @code{BinaryBuilder.jl}.")
     and printing JSON documents.")
         (license license:expat)))
     
    +(define-public julia-mbedtls-jll
    +  (package
    +    (name "julia-mbedtls-jll")
    +    ;; version 2.25.0+0 is not compatible with current mbedtls 2.23.0,
    +    ;; upgrade this when mbedtls is updated in guix
    +    (version "2.24.0+1")
    +    (source
    +     (origin
    +       (method git-fetch)
    +       (uri (git-reference
    +             (url "https://github.com/JuliaBinaryWrappers/MbedTLS_jll.jl")
    +             (commit (string-append "MbedTLS-v" version))))
    +       (file-name (git-file-name name version))
    +       (sha256
    +        (base32 "0kk9dlxdh7yms21npgrdfmjbj8q8ng6kdhrzw3jr2d7rp696kp99"))))
    +    (build-system julia-build-system)
    +    (arguments
    +     '(#:tests? #f                      ; No runtests.jl
    +       #:phases
    +       (modify-phases %standard-phases
    +         (add-after 'unpack 'override-binary-path
    +           (lambda* (#:key inputs #:allow-other-keys)
    +             (map
    +              (lambda (wrapper)
    +                (substitute* wrapper
    +                  (("generate_wrapper_header.*")
    +                   (string-append
    +                    "generate_wrapper_header(\"MbedTLS\", \""
    +                    (assoc-ref inputs "mbedtls-apache") "\")\n"))))
    +              ;; There's a Julia file for each platform, override them all
    +              (find-files "src/wrappers/" "\\.jl$"))
    +             #t)))))
    +    (inputs `(("mbedtls-apache" ,mbedtls-apache)))
    +    (propagated-inputs `(("julia-jllwrappers" ,julia-jllwrappers)))
    +    (home-page "https://github.com/JuliaBinaryWrappers/MbedTLS_jll.jl")
    +    (synopsis "Apache's mbed TLS binary wrappers")
    +    (description "This Julia module provides @code{mbed TLS} libraries and
    +wrappers.")
    +    (license license:expat)))
    +
     (define-public julia-orderedcollections
       (package
         (name "julia-orderedcollections")
    
    From a72d3ca844cf92030c63a46860cdd7746c383e9a Mon Sep 17 00:00:00 2001
    From: nixo 
    Date: Wed, 27 Jan 2021 00:35:20 +0100
    Subject: [PATCH 0844/1003] gnu: Add julia-mbedtls.
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    * gnu/packages/julia-xyz.scm (julia-mbedtls): New variable.
    
    Signed-off-by: Ludovic Courtès 
    ---
     gnu/packages/julia-xyz.scm | 30 ++++++++++++++++++++++++++++++
     1 file changed, 30 insertions(+)
    
    diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
    index ab3497700a..9e0e41c844 100644
    --- a/gnu/packages/julia-xyz.scm
    +++ b/gnu/packages/julia-xyz.scm
    @@ -216,6 +216,36 @@ used in autogenerated packages via @code{BinaryBuilder.jl}.")
     and printing JSON documents.")
         (license license:expat)))
     
    +(define-public julia-mbedtls
    +  (package
    +    (name "julia-mbedtls")
    +    (version "1.0.3")
    +    (source
    +     (origin
    +       (method git-fetch)
    +       (uri (git-reference
    +             (url "https://github.com/JuliaLang/MbedTLS.jl")
    +             (commit (string-append "v" version))))
    +       (file-name (git-file-name name version))
    +       (sha256
    +        (base32 "0zjzf2r57l24n3k0gcqkvx3izwn5827iv9ak0lqix0aa5967wvfb"))))
    +    (build-system julia-build-system)
    +    (arguments
    +     `(#:phases
    +       (modify-phases %standard-phases
    +         (add-before 'install 'disable-network-tests
    +           ;; Tries to connect to httpbin.org
    +           (lambda _
    +             (substitute* "test/runtests.jl"
    +               (("testhost =") "return #"))
    +             #t)))))
    +    (propagated-inputs `(("julia-mbedtls-jll" ,julia-mbedtls-jll)))
    +    (home-page "https://github.com/JuliaLang/MbedTLS.jl")
    +    (synopsis "Apache's mbed TLS library wrapper")
    +    (description "@code{MbedTLS.jl} provides a wrapper around the @code{mbed
    +TLS} and cryptography C libary for Julia.")
    +    (license license:expat)))
    +
     (define-public julia-mbedtls-jll
       (package
         (name "julia-mbedtls-jll")
    
    From 8f59a9fb6d11c1a5ee178ebebc977ca442f6893b Mon Sep 17 00:00:00 2001
    From: nixo 
    Date: Tue, 19 Jan 2021 11:44:51 +0100
    Subject: [PATCH 0845/1003] gnu: Add julia-uris.
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    * gnu/packages/julia-xyz.scm (julia-uris): New variable.
    
    Signed-off-by: Ludovic Courtès 
    ---
     gnu/packages/julia-xyz.scm | 34 ++++++++++++++++++++++++++++++++++
     1 file changed, 34 insertions(+)
    
    diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
    index 9e0e41c844..6021a6ff7a 100644
    --- a/gnu/packages/julia-xyz.scm
    +++ b/gnu/packages/julia-xyz.scm
    @@ -352,3 +352,37 @@ languages like Fortran.")
         (description "@code{Parsers.jl} is a collection of type parsers and
     utilities for Julia.")
         (license license:expat)))
    +
    +(define-public julia-uris
    +  (package
    +    (name "julia-uris")
    +    (version "1.2.0")
    +    (source
    +     (origin
    +       (method git-fetch)
    +       (uri (git-reference
    +             (url "https://github.com/JuliaWeb/URIs.jl")
    +             (commit (string-append "v" version))))
    +       (file-name (git-file-name name version))
    +       (sha256
    +        (base32 "0fqyagsqks5za7m0czafr34m2xh5501f689k9cn5x3npajdnh2r3"))))
    +    (build-system julia-build-system)
    +    (arguments
    +     '(#:julia-package-name "URIs"      ;required to run tests
    +       #:phases
    +       (modify-phases %standard-phases
    +         (add-before 'check 'change-dir
    +           ;; Tests must be run from the testdir
    +           (lambda* (#:key source outputs #:allow-other-keys)
    +             (let ((out (assoc-ref outputs "out")))
    +               (chdir
    +                (string-append out "/share/julia/packages/URIs/test")))
    +             #t)))))
    +    ;; required for tests
    +    (inputs `(("julia-json" ,julia-json)))
    +    (home-page "https://github.com/JuliaWeb/URIs.jl")
    +    (synopsis "URI parsing in Julia")
    +    (description "@code{URIs.jl} is a Julia package that allows parsing and
    +working with @acronym{URIs,Uniform Resource Identifiers}, as defined in RFC
    +3986.")
    +    (license license:expat)))
    
    From fc781578588436a68ad0e5afd9dad994c60e6a49 Mon Sep 17 00:00:00 2001
    From: nixo 
    Date: Tue, 19 Jan 2021 12:02:38 +0100
    Subject: [PATCH 0846/1003] gnu: Add julia-inifile.
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    * gnu/packages/julia-xyz.scm (julia-inifile): New variable.
    
    Signed-off-by: Ludovic Courtès 
    ---
     gnu/packages/julia-xyz.scm | 20 ++++++++++++++++++++
     1 file changed, 20 insertions(+)
    
    diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
    index 6021a6ff7a..738060f865 100644
    --- a/gnu/packages/julia-xyz.scm
    +++ b/gnu/packages/julia-xyz.scm
    @@ -148,6 +148,26 @@ scaled by a constant factor.  Consequently, they have a fixed number of
     digits (bits) after the decimal (radix) point.")
         (license license:expat)))
     
    +(define-public julia-inifile
    +  (package
    +    (name "julia-inifile")
    +    (version "0.5.0")
    +    (source
    +     (origin
    +       (method git-fetch)
    +       (uri (git-reference
    +             (url "https://github.com/JuliaIO/IniFile.jl")
    +             (commit "8ba59958495fa276d6489d2c3903e765d75e0bc0")))
    +       (file-name (git-file-name name version))
    +       (sha256
    +        (base32 "11h6f99jpbg729lplw841m68jprka7q3n8yw390bndlmcdsjabpd"))))
    +    (build-system julia-build-system)
    +    (home-page "https://github.com/JuliaIO/IniFile.jl")
    +    (synopsis "Reading Windows-style INI files")
    +    (description "This is a Julia package that defines an IniFile type that
    +allows to interface with @file{.ini} files.")
    +    (license license:expat)))
    +
     (define-public julia-jllwrappers
       (package
         (name "julia-jllwrappers")
    
    From 52d09b1f14ad98d1c1e611173acf7fc04bd653b7 Mon Sep 17 00:00:00 2001
    From: nixo 
    Date: Tue, 19 Jan 2021 12:08:27 +0100
    Subject: [PATCH 0847/1003] gnu: Add julia-bufferedstreams.
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    * gnu/packages/julia-xyz.scm (julia-bufferedstreams): New variable.
    
    Signed-off-by: Ludovic Courtès 
    ---
     gnu/packages/julia-xyz.scm | 28 ++++++++++++++++++++++++++++
     1 file changed, 28 insertions(+)
    
    diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
    index 738060f865..a3c5c55a86 100644
    --- a/gnu/packages/julia-xyz.scm
    +++ b/gnu/packages/julia-xyz.scm
    @@ -67,6 +67,34 @@ code easy by supplying a framework for writing and running groups of
     benchmarks as well as comparing benchmark results.")
         (license license:expat)))
     
    +(define-public julia-bufferedstreams
    +  (package
    +    (name "julia-bufferedstreams")
    +    (version "1.0.0")
    +    (source
    +     (origin
    +       (method git-fetch)
    +       (uri (git-reference
    +             (url "https://github.com/BioJulia/BufferedStreams.jl")
    +             (commit (string-append "v" version))))
    +       (file-name (git-file-name name version))
    +       (sha256
    +        (base32 "0sf4sxbq55mg2pwxyxf0c839z1lk0yxg8nmb7617bfbvw31cp88z"))))
    +    (build-system julia-build-system)
    +    ;; The package is old and tests are using undefined functions.  They also
    +    ;; freeze, see
    +    ;; https://travis-ci.org/BioJulia/BufferedStreams.jl/jobs/491050182
    +    (arguments
    +     '(#:tests? #f
    +       #:julia-package-name "BufferedStreams"))
    +    (propagated-inputs `(("julia-compat" ,julia-compat)))
    +    (home-page "https://github.com/BioJulia/BufferedStreams.jl")
    +    (synopsis "Fast composable IO streams")
    +    (description "@code{BufferedStreams.jl} provides buffering for IO
    +operations.  It can wrap any @code{IO} type automatically making incremental
    +reading and writing faster.")
    +    (license license:expat)))
    +
     (define-public julia-compat
       (package
         (name "julia-compat")
    
    From d4987a50cef3983c4bd68c1c2c52270946c4f113 Mon Sep 17 00:00:00 2001
    From: nixo 
    Date: Tue, 19 Jan 2021 13:29:00 +0100
    Subject: [PATCH 0848/1003] gnu: Add julia-http.
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    * gnu/packages/julia-xyz.scm (julia-http): New variable.
    
    Signed-off-by: Ludovic Courtès 
    ---
     gnu/packages/julia-xyz.scm | 58 ++++++++++++++++++++++++++++++++++++++
     1 file changed, 58 insertions(+)
    
    diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
    index a3c5c55a86..0d35cbde57 100644
    --- a/gnu/packages/julia-xyz.scm
    +++ b/gnu/packages/julia-xyz.scm
    @@ -176,6 +176,64 @@ scaled by a constant factor.  Consequently, they have a fixed number of
     digits (bits) after the decimal (radix) point.")
         (license license:expat)))
     
    +(define-public julia-http
    +  (package
    +    (name "julia-http")
    +    (version "0.9.2")
    +    (source
    +     (origin
    +       (method git-fetch)
    +       (uri (git-reference
    +             (url "https://github.com/JuliaWeb/HTTP.jl")
    +             (commit (string-append "v" version))))
    +       (file-name (git-file-name name version))
    +       (sha256
    +        (base32 "0ij0yci13c46p92m4zywvcs02nn8pm0abyfffiyhxvva6hq48lyl"))))
    +    (build-system julia-build-system)
    +    (arguments
    +     `(#:phases
    +       (modify-phases %standard-phases
    +         (add-before 'install 'disable-network-tests
    +           (lambda _
    +             (substitute* "test/runtests.jl"
    +               (("\"async.jl") "# \"async.jl")
    +               (("\"client.jl") "# \"client.jl"))
    +             (substitute* "test/aws4.jl"
    +               (("@testset.*HTTP.request with AWS authentication.*" all)
    +                (string-append all "return\n")))
    +             (substitute* "test/insert_layers.jl"
    +               (("@testset.*Inserted final layer runs handler.*" all)
    +                (string-append all "return\n")))
    +             (substitute* "test/multipart.jl"
    +               (("@testset \"Setting of Content-Type.*" all)
    +                (string-append all "return\n"))
    +               (("@testset \"Deprecation of .*" all)
    +                (string-append all "return\n")))
    +             (substitute* "test/websockets.jl"
    +               (("@testset.*External Host.*" all)
    +                (string-append all "return\n")))
    +             (substitute* "test/messages.jl"
    +               (("@testset.*Read methods.*" all)
    +                (string-append all "return\n"))
    +               (("@testset.*Body - .*" all)
    +                (string-append all "return\n"))
    +               (("@testset.*Write to file.*" all)
    +                (string-append all "return\n")))
    +             #t)))))
    +    (propagated-inputs
    +     `(("julia-inifile" ,julia-inifile)
    +       ("julia-mbedtls" ,julia-mbedtls)
    +       ("julia-uris" ,julia-uris)))
    +    ;; required for tests
    +    (inputs
    +     `(("julia-json" ,julia-json)
    +       ("julia-bufferedstreams" ,julia-bufferedstreams)))
    +    (home-page "https://juliaweb.github.io/HTTP.jl/")
    +    (synopsis "HTTP support for Julia")
    +    (description "@code{HTTP.jl} is a Julia library for HTTP Messages,
    +implementing both a client and a server.")
    +    (license license:expat)))
    +
     (define-public julia-inifile
       (package
         (name "julia-inifile")
    
    From ece9fba60e1382f1fd214954d6934feef703bb5a Mon Sep 17 00:00:00 2001
    From: Vagrant Cascadian 
    Date: Sat, 20 Mar 2021 17:38:06 -0700
    Subject: [PATCH 0849/1003] gnu: Add linux-libre-arm64-generic at version 5.10.
    
    * gnu/packages/linux.scm (linux-libre-arm64-generic-5.10): New variable.
    ---
     gnu/packages/linux.scm | 21 +++++++++++++++++++++
     1 file changed, 21 insertions(+)
    
    diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
    index d932c3583a..021e972a89 100644
    --- a/gnu/packages/linux.scm
    +++ b/gnu/packages/linux.scm
    @@ -1033,6 +1033,27 @@ It has been modified to remove all non-free binary blobs.")
                             ("CONFIG_AXP20X_ADC" . m))
                           %default-extra-linux-options)))
     
    +(define-public linux-libre-arm64-generic-5.10
    +  (make-linux-libre* linux-libre-5.10-version
    +                     linux-libre-5.10-source
    +                     '("aarch64-linux")
    +                     #:defconfig "defconfig"
    +                     #:extra-version "arm64-generic"
    +                     #:extra-options
    +                     (append
    +                      `(;; needed to fix the RTC on rockchip platforms
    +                        ("CONFIG_RTC_DRV_RK808" . #t)
    +                        ;; Pinebook display, battery, charger and usb
    +                        ("CONFIG_DRM_ANALOGIX_ANX6345" . m)
    +                        ("CONFIG_CHARGER_AXP20X" . m)
    +                        ("CONFIG_INPUT_AXP20X_PEK" . m)
    +                        ("CONFIG_CHARGER_AXP20X" . m)
    +                        ("CONFIG_BATTERY_AXP20X" . m)
    +                        ("CONFIG_PINCTRL_AXP209" . m)
    +                        ("CONFIG_AXP20X_POWER" . m)
    +                        ("CONFIG_AXP20X_ADC" . m))
    +                      %default-extra-linux-options)))
    +
     (define-public linux-libre-arm64-generic-5.4
       (make-linux-libre* linux-libre-5.4-version
                          linux-libre-5.4-source
    
    From ba0dc1dbc150a95746ffb89596862533e533c2c9 Mon Sep 17 00:00:00 2001
    From: Vagrant Cascadian 
    Date: Sat, 20 Mar 2021 17:44:59 -0700
    Subject: [PATCH 0850/1003] gnu: Add linux-libre-arm-generic at version 5.10.
    
    * gnu/packages/linux.scm (linux-libre-arm-generic-5.10): New variable.
    ---
     gnu/packages/linux.scm | 12 ++++++++++++
     1 file changed, 12 insertions(+)
    
    diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
    index 021e972a89..2bb3900495 100644
    --- a/gnu/packages/linux.scm
    +++ b/gnu/packages/linux.scm
    @@ -965,6 +965,18 @@ It has been modified to remove all non-free binary blobs.")
     (define-public linux-libre-arm-veyron
       (deprecated-package "linux-libre-arm-veyron" linux-libre-arm-generic))
     
    +(define-public linux-libre-arm-generic-5.10
    +  (make-linux-libre* linux-libre-5.10-version
    +                     linux-libre-5.10-source
    +                     '("armhf-linux")
    +                     #:defconfig "multi_v7_defconfig"
    +                     #:extra-version "arm-generic"
    +                     #:extra-options
    +                     (append
    +                      `(;; needed to fix the RTC on rockchip platforms
    +                        ("CONFIG_RTC_DRV_RK808" . #t))
    +                      %default-extra-linux-options)))
    +
     (define-public linux-libre-arm-generic-5.4
       (make-linux-libre* linux-libre-5.4-version
                          linux-libre-5.4-source
    
    From ff34334cfca2c32feebe8d1d9efa632dece0f826 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Vin=C3=ADcius=20dos=20Santos=20Oliveira?=
     
    Date: Wed, 17 Mar 2021 18:03:31 -0300
    Subject: [PATCH 0851/1003] gnu: emilua: Update to 0.3.0.
    
    * gnu/packages/lua.scm (emilua): Update to 0.3.0.
    [arguments]: Add guix version suffix, enable http module. Disable
    manpages.
    [inputs]: Add fmt.
    [search-paths]: New field.
    
    Signed-off-by: Efraim Flashner 
    ---
     gnu/packages/lua.scm | 22 +++++++++++++++++-----
     1 file changed, 17 insertions(+), 5 deletions(-)
    
    diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
    index edb3f85109..0a1ca19a6f 100644
    --- a/gnu/packages/lua.scm
    +++ b/gnu/packages/lua.scm
    @@ -51,6 +51,7 @@
       #:use-module (gnu packages m4)
       #:use-module (gnu packages ncurses)
       #:use-module (gnu packages pkg-config)
    +  #:use-module (gnu packages pretty-print)
       #:use-module (gnu packages re2c)
       #:use-module (gnu packages readline)
       #:use-module (gnu packages tls)
    @@ -1107,14 +1108,14 @@ shell command executions.")
     (define-public emilua
       (package
        (name "emilua")
    -   (version "0.2.1")
    +   (version "0.3.0")
        (source (origin
                 (method git-fetch)
                 (uri (git-reference
                       (url "https://gitlab.com/emilua/emilua.git")
                       (commit (string-append "v" version))
    -                  ;; Current version requires bundled CLI11 and fmt, but at some
    -                  ;; future release the ones found in the system could be used
    +                  ;; Current version requires bundled CLI11, but at some future
    +                  ;; release the one found in the system could be used
                       ;; instead. Current version also requires Trial.Protocol and
                       ;; the HTTP lib developed as part of GSoC 2014 for Boost, but
                       ;; these are dependencies unlikely to be "unbundled" in future
    @@ -1123,13 +1124,17 @@ shell command executions.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
    -              "1d6k5v6x85fbvz2ijq1imnfdwvqmsav4xp021a5v3ah4mgy7yann"))))
    +              "124fj73722c03znwdyqp1i0jygwv3s11f6s1j9rzym513qrf7fnd"))))
        (build-system meson-build-system)
        (arguments
         `(#:meson ,meson-0.55
           ;; Tests are disabled for now due to an issue that affecs guix:
           ;; 
    -      #:configure-flags '("-Denable_http=false" "-Denable_tests=false")))
    +      #:configure-flags
    +      (list "-Denable_http=true"
    +            "-Denable_tests=false"
    +            "-Denable_manpages=false"
    +            "-Dversion_suffix=-guix1")))
        (native-inputs
         `(("gcc" ,gcc-10) ; gcc-7 is too old for our C++17 needs
           ("luajit-lua52-openresty" ,luajit-lua52-openresty)
    @@ -1139,6 +1144,7 @@ shell command executions.")
        (inputs
         `(("boost" ,boost)
           ("boost-static" ,boost-static)
    +      ("fmt" ,fmt)
           ;; LuaJIT has a 2GiB addressing limit[1] that has been fixed on OpenResty
           ;; fork. Emilua is severely affected by this limit, so the upstream package
           ;; is avoided. Emilua also depends on the -DLUAJIT_ENABLE_LUA52COMPAT
    @@ -1150,6 +1156,12 @@ shell command executions.")
           ("luajit-lua52-openresty" ,luajit-lua52-openresty)
           ("ncurses" ,ncurses)
           ("openssl" ,openssl)))
    +   (native-search-paths
    +    (list
    +     (search-path-specification
    +      (variable "EMILUA_PATH")
    +      (files
    +       (list (string-append "lib/emilua-" (version-major+minor version)))))))
        (home-page "https://gitlab.com/emilua/emilua")
        (synopsis "Lua execution engine")
        (description
    
    From e559288c1b4f3792582f85b23cae3564890f8902 Mon Sep 17 00:00:00 2001
    From: Nicolas Goaziou 
    Date: Sun, 21 Mar 2021 10:10:42 +0100
    Subject: [PATCH 0852/1003] gnu: fet: Update to 5.49.1.
    
    * gnu/packages/education.scm (fet): Update to 5.49.1.
    ---
     gnu/packages/education.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
    index 365bb9864f..a1f1b0dfba 100644
    --- a/gnu/packages/education.scm
    +++ b/gnu/packages/education.scm
    @@ -614,14 +614,14 @@ Portuguese, Spanish and Italian.")
     (define-public fet
       (package
         (name "fet")
    -    (version "5.49.0")
    +    (version "5.49.1")
         (source
          (origin
            (method url-fetch)
            (uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
                                "fet-" version ".tar.bz2"))
            (sha256
    -        (base32 "011bgr46bfi41hah1gr54va6arvr5zsvkk9zq2gfgavynwfnmny4"))))
    +        (base32 "1aa8xnhwvbhvp7yigcdk7qdwqh59yyfknqbpn3ybgjljc22m8w5n"))))
         (build-system gnu-build-system)
         (arguments
          `(#:phases
    
    From f156a07d4379f1ec09b4d2cb11cbf97c167eed61 Mon Sep 17 00:00:00 2001
    From: Nicolas Goaziou 
    Date: Sun, 21 Mar 2021 10:11:22 +0100
    Subject: [PATCH 0853/1003] gnu: emacs-ebuild-mode: Update to 1.52.
    
    * gnu/packages/emacs-xyz.scm (emacs-ebuild-mode): Update to 1.52.
    ---
     gnu/packages/emacs-xyz.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
    index 28400c0573..c5f75da3dc 100644
    --- a/gnu/packages/emacs-xyz.scm
    +++ b/gnu/packages/emacs-xyz.scm
    @@ -10297,7 +10297,7 @@ Lua programming language}.")
     (define-public emacs-ebuild-mode
       (package
         (name "emacs-ebuild-mode")
    -    (version "1.51")
    +    (version "1.52")
         (source
          (origin
            (method url-fetch)
    @@ -10306,7 +10306,7 @@ Lua programming language}.")
                  "ebuild-mode-" version ".tar.xz"))
            (file-name (string-append name "-" version ".tar.xz"))
            (sha256
    -        (base32 "0sfmd6ns2qdmybcynlvc4fqzkbkzmm54rn87wyirdcqnpy0x03i2"))))
    +        (base32 "10nikbbwh612qlnms2i31963a0h3ccyg85vrxlizdpsqs4cjpg6h"))))
         (build-system emacs-build-system)
         (arguments
          '(#:phases
    
    From aa24d2d44c8ed972e4b233f7e6712293352a019c Mon Sep 17 00:00:00 2001
    From: Nicolas Goaziou 
    Date: Sun, 21 Mar 2021 10:12:52 +0100
    Subject: [PATCH 0854/1003] gnu: python-pikepdf: Update to 2.9.1.
    
    * gnu/packages/python-xyz.scm (python-pikepdf): Update to 2.9.1.
    ---
     gnu/packages/python-xyz.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
    index 79eac0ec7f..88c472d50f 100644
    --- a/gnu/packages/python-xyz.scm
    +++ b/gnu/packages/python-xyz.scm
    @@ -5865,13 +5865,13 @@ the OleFileIO module from PIL, the Python Image Library.")
     (define-public python-pikepdf
       (package
         (name "python-pikepdf")
    -    (version "2.9.0")
    +    (version "2.9.1")
         (source
          (origin
            (method url-fetch)
            (uri (pypi-uri "pikepdf" version))
            (sha256
    -        (base32 "1dx84gvxf8js5988b20dwpg0xd7by2bczjlrdh3cpppwaaxx5nx9"))))
    +        (base32 "1n53fhdgnq9yxvm2m039vl8l2kg3fkln3pm0wv4rzj0gvpq9rhcr"))))
         (build-system python-build-system)
         (arguments
          `(#:tests? #false))                ;require python-xmp-toolkit
    
    From 4cd88522f233dcb9affa3d3b0eada154439487c1 Mon Sep 17 00:00:00 2001
    From: Timothy Sample 
    Date: Tue, 9 Mar 2021 14:39:24 -0500
    Subject: [PATCH 0855/1003] gnu: Add guile-quickcheck.
    
    * gnu/packages/guile-xyz.scm (guile-quickcheck): New variable.
    ---
     gnu/packages/guile-xyz.scm | 27 ++++++++++++++++++++++++++-
     1 file changed, 26 insertions(+), 1 deletion(-)
    
    diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
    index 9f4118f083..28e7c798a7 100644
    --- a/gnu/packages/guile-xyz.scm
    +++ b/gnu/packages/guile-xyz.scm
    @@ -22,7 +22,7 @@
     ;;; Copyright © 2018 Eric Bavier 
     ;;; Copyright © 2019 swedebugia 
     ;;; Copyright © 2019, 2020 Amar Singh 
    -;;; Copyright © 2019 Timothy Sample 
    +;;; Copyright © 2019, 2021 Timothy Sample 
     ;;; Copyright © 2019, 2020 Martin Becze 
     ;;; Copyright © 2020 Evan Straw 
     ;;; Copyright © 2020 Jack Hill 
    @@ -4619,3 +4619,28 @@ binary which is smaller and faster to generate and parse.  This package provides
     a Guile implementation of CBOR.")
         (home-page "https://inqlab.net/git/guile-cbor.git")
         (license license:gpl3+)))
    +
    +(define-public guile-quickcheck
    +  (package
    +    (name "guile-quickcheck")
    +    (version "0.1.0")
    +    (source (origin
    +              (method url-fetch)
    +              (uri (string-append "https://files.ngyro.com/"
    +                                  "guile-quickcheck/guile-quickcheck-"
    +                                  version ".tar.gz"))
    +              (sha256
    +               (base32
    +                "03mwi1l3354x52nar0zwhcm0x29yai9xjln4p4gbchwvx5dsr6fb"))))
    +    (build-system gnu-build-system)
    +    (native-inputs
    +     `(("pkg-config" ,pkg-config)))
    +    (inputs
    +     `(("guile" ,guile-3.0)))
    +    (home-page "https://ngyro.com/software/guile-quickcheck.html")
    +    (synopsis "Randomized property-based testing for Guile")
    +    (description "Guile-Quickcheck is a library for random testing of program
    +properties inspired by ghc-quickcheck.  You can use it to express properties,
    +which functions should satisfy, as Scheme code and then check whether they hold
    +in a large number of randomly generated test cases.")
    +    (license license:gpl3+)))
    
    From 06bdb640cee866da0d6443a1fcc0ea7ea36a93cd Mon Sep 17 00:00:00 2001
    From: Raghav Gururajan 
    Date: Sun, 21 Mar 2021 12:33:28 +0100
    Subject: [PATCH 0856/1003] gnu: Add movim-desktop.
    
    * gnu/packages/messaging.scm (movim-desktop): New variable.
    
    Signed-off-by: Nicolas Goaziou 
    ---
     gnu/packages/messaging.scm | 43 ++++++++++++++++++++++++++++++++++++++
     1 file changed, 43 insertions(+)
    
    diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
    index c282080361..26000c48b8 100644
    --- a/gnu/packages/messaging.scm
    +++ b/gnu/packages/messaging.scm
    @@ -2777,6 +2777,49 @@ as phones, embedded computers or microcontrollers.")
         ;; Dual licensed.
         (license (list license:epl1.0 license:edl1.0))))
     
    +(define-public movim-desktop
    +  (let ((commit "83d583b83629dbd2ec448da9a1ffd81f6c1fb295")
    +        (revision "3"))
    +    (package
    +      (name "movim-desktop")
    +      (version
    +       (git-version "0.14.0" revision commit))
    +      (source
    +       (origin
    +         (method git-fetch)
    +         (uri
    +          (git-reference
    +           (url "https://github.com/movim/movim_desktop")
    +           (commit commit)))
    +         (file-name (git-file-name name version))
    +         (sha256
    +          (base32 "1lsa3k3wx1d2lk0qs0k5jc5bmapnmpzwynprjf2wihh8c8y3iwlz"))))
    +      (build-system qt-build-system)
    +      (arguments
    +       `(#:tests? #f                    ; No target
    +         #:phases
    +         (modify-phases %standard-phases
    +           (add-after 'unpack 'patch
    +             (lambda* (#:key outputs #:allow-other-keys)
    +               (substitute* `("CMakeLists.txt" "movim.desktop")
    +                 (("/usr")
    +                  (assoc-ref outputs "out"))
    +                 (("\"build")
    +                  "\"../build"))
    +               #t)))))
    +      (inputs
    +       `(("qtbase" ,qtbase)
    +         ("qtdeclarative" ,qtdeclarative)
    +         ("qtwebchannel" ,qtwebchannel)))
    +      (propagated-inputs
    +       `(("qtwebengine" ,qtwebengine)))
    +      (home-page "https://movim.eu/")
    +      (synopsis "Desktop Application for Movim")
    +      (description
    +       "Movim-Desktop is a desktop application, relying on Qt, for the Movim
    +social and chat platform.")
    +      (license license:gpl3+))))
    +
     (define-public psi-plus
       (package
         (name "psi-plus")
    
    From 177dcce76eedffc315a8706922fb4cf6de6c650e Mon Sep 17 00:00:00 2001
    From: Jelle Licht 
    Date: Sun, 21 Mar 2021 15:04:55 +0100
    Subject: [PATCH 0857/1003] gnu: emacs-package-lint: Install missing data.
    
    The `package-lint-symbol-info' constant in this package depends on the
    stdlib-changes file being installed.
    
    * gnu/packages/emacs-xyz.scm (emacs-package-lint)[arguments]: Add the
      #:include argument.
    ---
     gnu/packages/emacs-xyz.scm | 2 ++
     1 file changed, 2 insertions(+)
    
    diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
    index c5f75da3dc..7085318e58 100644
    --- a/gnu/packages/emacs-xyz.scm
    +++ b/gnu/packages/emacs-xyz.scm
    @@ -19512,6 +19512,8 @@ image, rotate it, save modified images, and more.")
              (sha256
               (base32
                "1zifiqmpj9j14fnrm3jxapady25m1nlm514nfry0jfrhhikvj6i8"))))
    +      (arguments
    +       '(#:include (cons "^data/" %default-include)))
           (build-system emacs-build-system)
           (home-page "https://github.com/purcell/package-lint")
           (synopsis "Linting library for elisp package authors")
    
    From d31db5cff392e6263ac07bb47cffaea8fd1f0120 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 14:11:56 +0100
    Subject: [PATCH 0858/1003] gnu: youtube-dl: Update to 2021.03.14.
    
    * gnu/packages/video.scm (youtube-dl): Update to 2021.03.14.
    ---
     gnu/packages/video.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
    index 2a213a10cf..c818b22451 100644
    --- a/gnu/packages/video.scm
    +++ b/gnu/packages/video.scm
    @@ -2179,14 +2179,14 @@ To load this plugin, specify the following option when starting mpv:
     (define-public youtube-dl
       (package
         (name "youtube-dl")
    -    (version "2021.03.03")
    +    (version "2021.03.14")
         (source (origin
                   (method url-fetch)
                   (uri (string-append "https://youtube-dl.org/downloads/latest/"
                                       "youtube-dl-" version ".tar.gz"))
                   (sha256
                    (base32
    -                "11z2v8mdii0bl13850mc6hgz80d0kgzb4hdxyikc3wa4jqfwrq7f"))
    +                "1bh74f9q6dv17ah5x8zcxw03dq6jbh959xd39kw374cf9ifrgnd3"))
                   (snippet
                    '(begin
                       ;; Delete the pre-generated files, except for the man page
    
    From 37b2e9c3b681484adf7ba51aaaa10f93e7df1fc9 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 14:12:09 +0100
    Subject: [PATCH 0859/1003] gnu: synthv1: Update to 0.9.21.
    
    * gnu/packages/music.scm (synthv1): Update to 0.9.21.
    ---
     gnu/packages/music.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
    index 1e12bbe1a2..2da400dcd1 100644
    --- a/gnu/packages/music.scm
    +++ b/gnu/packages/music.scm
    @@ -1965,7 +1965,7 @@ users to select LV2 plugins and run them with jalv.")
     (define-public synthv1
       (package
         (name "synthv1")
    -    (version "0.9.20")
    +    (version "0.9.21")
         (source (origin
                   (method url-fetch)
                   (uri
    @@ -1973,7 +1973,7 @@ users to select LV2 plugins and run them with jalv.")
                                   "/synthv1-" version ".tar.gz"))
                   (sha256
                    (base32
    -                "1g2i79gkl1j7i49djz6igkbvdmfwxhcg6kx97n63bcqcvvy03rqz"))))
    +                "0wg4ywkqf307vln0y923p083xacb5ahr2ghzvb9gmqyszd7k2v15"))))
         (build-system gnu-build-system)
         (arguments
          `(#:tests? #f))                    ; there are no tests
    
    From 945d9cea185729875bc4031cb7c8434cb30d4a43 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 14:12:15 +0100
    Subject: [PATCH 0860/1003] gnu: drumkv1: Update to 0.9.21.
    
    * gnu/packages/music.scm (drumkv1): Update to 0.9.21.
    ---
     gnu/packages/music.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
    index 2da400dcd1..fb409af16d 100644
    --- a/gnu/packages/music.scm
    +++ b/gnu/packages/music.scm
    @@ -1997,7 +1997,7 @@ oscillators and stereo effects.")
     (define-public drumkv1
       (package
         (name "drumkv1")
    -    (version "0.9.20")
    +    (version "0.9.21")
         (source (origin
                   (method url-fetch)
                   (uri
    @@ -2005,7 +2005,7 @@ oscillators and stereo effects.")
                                   "/drumkv1-" version ".tar.gz"))
                   (sha256
                    (base32
    -                "0y6njh1n0yai4g9dhg24hwc9khba44l4n5xizqcs6i4q7lyr9z48"))))
    +                "1ym7kns7hfgxdwm2nzvpdm5vjxpkwb9dssjiic6rrpicv1p2v59m"))))
         (build-system gnu-build-system)
         (arguments
          `(#:tests? #f))                    ; there are no tests
    
    From aa1f2945f01d5b232dc2780f668be2fc663d4f50 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 14:12:20 +0100
    Subject: [PATCH 0861/1003] gnu: samplv1: Update to 0.9.21.
    
    * gnu/packages/music.scm (samplv1): Update to 0.9.21.
    ---
     gnu/packages/music.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
    index fb409af16d..0afc6fcc0c 100644
    --- a/gnu/packages/music.scm
    +++ b/gnu/packages/music.scm
    @@ -2030,7 +2030,7 @@ effects.")
     (define-public samplv1
       (package
         (name "samplv1")
    -    (version "0.9.20")
    +    (version "0.9.21")
         (source (origin
                   (method url-fetch)
                   (uri
    @@ -2038,7 +2038,7 @@ effects.")
                                   "/samplv1-" version ".tar.gz"))
                   (sha256
                    (base32
    -                "06nni00dgn8fvbyam1v44aq4yfns1vf7hw1mwmwzv2vxapdbpngn"))))
    +                "1kz8hcpzhrkvxpah6irz5gbah4m7knjhi4rk5hs1kwiikn7p6vgk"))))
         (build-system gnu-build-system)
         (arguments
          `(#:tests? #f))                    ; there are no tests
    
    From e83faf04faec42025bd1aed6cd4edb3104217278 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 14:12:25 +0100
    Subject: [PATCH 0862/1003] gnu: padthv1: Update to 0.9.21.
    
    * gnu/packages/music.scm (padthv1): Update to 0.9.21.
    ---
     gnu/packages/music.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
    index 0afc6fcc0c..5c62ab8655 100644
    --- a/gnu/packages/music.scm
    +++ b/gnu/packages/music.scm
    @@ -2063,7 +2063,7 @@ effects.")
     (define-public padthv1
       (package
         (name "padthv1")
    -    (version "0.9.20")
    +    (version "0.9.21")
         (source (origin
                   (method url-fetch)
                   (uri
    @@ -2071,7 +2071,7 @@ effects.")
                                   "/padthv1-" version ".tar.gz"))
                   (sha256
                    (base32
    -                "1x3qjkby29xd7y0dg22ms19c8h8drqf55m9nxz6jlc58sfha2ss0"))))
    +                "0s28l8vp9b85s4bdm18qm57dh8dx8rx7659r05p44828g4053ipl"))))
         (build-system gnu-build-system)
         (arguments
          `(#:tests? #f))                    ; there are no tests
    
    From 2ac2a57f37f136c4e16ae7762baa23382d0a834a Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 14:12:32 +0100
    Subject: [PATCH 0863/1003] gnu: qtractor: Update to 0.9.21.
    
    * gnu/packages/music.scm (qtractor): Update to 0.9.21.
    ---
     gnu/packages/music.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
    index 5c62ab8655..06632986ab 100644
    --- a/gnu/packages/music.scm
    +++ b/gnu/packages/music.scm
    @@ -3039,14 +3039,14 @@ from the command line.")
     (define-public qtractor
       (package
         (name "qtractor")
    -    (version "0.9.19")
    +    (version "0.9.21")
         (source (origin
                   (method url-fetch)
                   (uri (string-append "https://downloads.sourceforge.net/qtractor/"
                                       "qtractor-" version ".tar.gz"))
                   (sha256
                    (base32
    -                "0gdr1hvda56vmv4998z9xcqsp7da6lplj00f217x9g2i2snyvkzp"))))
    +                "12hn17hqs3jndv6238wj8yhw07n99s0zachab4kfvhwa0qfflsbl"))))
         (build-system gnu-build-system)
         (arguments
          `(#:tests? #f))                    ; no "check" target
    
    From f03a2e99fad1827e0b4bdf68b7ec21bdb8d77525 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 14:15:11 +0100
    Subject: [PATCH 0864/1003] gnu: inxi-minimal: Update to 3.3.03-1.
    
    * gnu/packages/admin.scm (inxi-minimal): Update to 3.3.03-1.
    ---
     gnu/packages/admin.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
    index d5cb9bf8e5..6949edd00c 100644
    --- a/gnu/packages/admin.scm
    +++ b/gnu/packages/admin.scm
    @@ -3743,7 +3743,7 @@ Python loading in HPC environments.")
       (let ((real-name "inxi"))
         (package
           (name "inxi-minimal")
    -      (version "3.3.01-1")
    +      (version "3.3.03-1")
           (source
            (origin
              (method git-fetch)
    @@ -3752,7 +3752,7 @@ Python loading in HPC environments.")
                    (commit version)))
              (file-name (git-file-name real-name version))
              (sha256
    -          (base32 "06r5iq78ldrvr5fmmb5mchaaji49195fsgx9ysr1mjs122rp13y1"))))
    +          (base32 "1pahns10i5farw47v9v8cykrk5arq8218vpsa8c0bmaia0rf2n1q"))))
           (build-system trivial-build-system)
           (inputs
            `(("bash" ,bash-minimal)
    
    From ebe967e1b7dec34b89199136ab9c0fb95092009a Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 15:15:36 +0100
    Subject: [PATCH 0865/1003] gnu: vim: Update to 8.2.2632.
    
    * gnu/packages/vim.scm (vim): Update to 8.2.2632.
    [arguments]: Disable another test (Test_combining_double_width).
    ---
     gnu/packages/vim.scm | 8 +++++---
     1 file changed, 5 insertions(+), 3 deletions(-)
    
    diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
    index d559364d32..9a3547bbc9 100644
    --- a/gnu/packages/vim.scm
    +++ b/gnu/packages/vim.scm
    @@ -4,7 +4,7 @@
     ;;; Copyright © 2016, 2017 Nikita 
     ;;; Copyright © 2017 Ricardo Wurmus 
     ;;; Copyright © 2017 Marius Bakke 
    -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice 
    +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice 
     ;;; Copyright © 2019 HiPhish 
     ;;; Copyright © 2019 Julien Lepiller 
     ;;; Copyright © 2019, 2020 Jakub Kądziołka 
    @@ -71,7 +71,7 @@
     (define-public vim
       (package
         (name "vim")
    -    (version "8.2.2067")
    +    (version "8.2.2632")
         (source (origin
                  (method git-fetch)
                  (uri (git-reference
    @@ -80,7 +80,7 @@
                  (file-name (git-file-name name version))
                  (sha256
                   (base32
    -               "02cd953h69k9klrcwi756namwg39ka7if9ccc399ihb1l5f3kr66"))))
    +               "0f80im1swja58n99696zslyzapsx8pyf545pmpzvy173ymnvm6nq"))))
         (build-system gnu-build-system)
         (arguments
          `(#:test-target "test"
    @@ -132,6 +132,8 @@
                    ((".*Test_open_term_from_cmd.*" line)
                     (string-append line "return\n"))
                    ((".*Test_terminal_postponed_scrollback.*" line)
    +                (string-append line "return\n"))
    +               ((".*Test_combining_double_width.*" line)
                     (string-append line "return\n")))
                  (substitute* "src/testdir/test_popupwin.vim"
                    ((".*Test_popup_drag_termwin.*" line)
    
    From b8b398a7d3e824550519f2ec266339f472c85516 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 15:24:33 +0100
    Subject: [PATCH 0866/1003] gnu: fluidsynth: Update to 2.1.8.
    
    * gnu/packages/audio.scm (fluidsynth): Update to 2.1.8.
    ---
     gnu/packages/audio.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
    index 8b23f04fe5..a84d72bb59 100644
    --- a/gnu/packages/audio.scm
    +++ b/gnu/packages/audio.scm
    @@ -1622,7 +1622,7 @@ follower.")
     (define-public fluidsynth
       (package
         (name "fluidsynth")
    -    (version "2.1.5")
    +    (version "2.1.8")
         (source (origin
                   (method git-fetch)
                   (uri (git-reference
    @@ -1631,7 +1631,7 @@ follower.")
                   (file-name (git-file-name name version))
                   (sha256
                    (base32
    -                "0ccpq4p1h1g53ng3961g3lh590qnwvpzwdzpl6ai4j6iazq0bh73"))))
    +                "0r944ndn138ak9s3ivgd1wgkwkh6zp7jjnxd30hryczc6kbhkpmr"))))
         (build-system cmake-build-system)
         (arguments
          '(#:tests? #f                      ; no check target
    
    From 7244ec07a2c790c15bbbd084771c38e4b6733d10 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 15:24:47 +0100
    Subject: [PATCH 0867/1003] gnu: jasper: Update to 2.0.27.
    
    * gnu/packages/image.scm (jasper): Update to 2.0.27.
    ---
     gnu/packages/image.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
    index de6872b9b2..835060c041 100644
    --- a/gnu/packages/image.scm
    +++ b/gnu/packages/image.scm
    @@ -1408,7 +1408,7 @@ convert, manipulate, filter and display a wide variety of image formats.")
     (define-public jasper
       (package
         (name "jasper")
    -    (version "2.0.26")
    +    (version "2.0.27")
         (source (origin
                   (method git-fetch)
                   (uri (git-reference
    @@ -1417,7 +1417,7 @@ convert, manipulate, filter and display a wide variety of image formats.")
                   (file-name (git-file-name name version))
                   (sha256
                    (base32
    -                "0zh239v6gj1ndrsk4ds5faiiyakpddmbpcy4v6p6shicfbr04snf"))))
    +                "0mrnazk8qla7nn59xad86gmrf5fzqcv74j5xhcdrxbgfw67l17zd"))))
         (build-system cmake-build-system)
         (inputs
          `(("libjpeg" ,libjpeg-turbo)))
    
    From 660208cfd5545a0884150854863ac50f0359b0bf Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 15:34:49 +0100
    Subject: [PATCH 0868/1003] gnu: gnumeric: Update to 1.12.49.
    
    * gnu/packages/gnome.scm (gnumeric): Update to 1.12.49.
    ---
     gnu/packages/gnome.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
    index 34cd0fa992..6661942eb5 100644
    --- a/gnu/packages/gnome.scm
    +++ b/gnu/packages/gnome.scm
    @@ -4198,7 +4198,7 @@ Hints specification (EWMH).")
     (define-public gnumeric
       (package
         (name "gnumeric")
    -    (version "1.12.48")
    +    (version "1.12.49")
         (source (origin
                   (method url-fetch)
                   (uri (string-append "mirror://gnome/sources/gnumeric/"
    @@ -4206,7 +4206,7 @@ Hints specification (EWMH).")
                                       "gnumeric-" version ".tar.xz"))
                   (sha256
                    (base32
    -                "14556b0vyxdvdwjlin0rv7jk0vq4nplbmvp9j89bhkfk84xf7k2p"))))
    +                "0mzdhhpa7kwkc51l344g6vgqwaxkjdf03s7zasqh0bn3jpn75h4i"))))
         (build-system glib-or-gtk-build-system)
         (arguments
          `(;; The gnumeric developers don't worry much about failing tests.
    
    From 5229d56db0a02f25946898a5fbde0d9d88ed4966 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 15:35:02 +0100
    Subject: [PATCH 0869/1003] gnu: wcslib: Update to 7.5.
    
    * gnu/packages/astronomy.scm (wcslib): Update to 7.5.
    ---
     gnu/packages/astronomy.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
    index f623274136..6105ef2590 100644
    --- a/gnu/packages/astronomy.scm
    +++ b/gnu/packages/astronomy.scm
    @@ -167,7 +167,7 @@ feature detection and cosmetic corrections.")
     (define-public wcslib
       (package
         (name "wcslib")
    -    (version "7.4")
    +    (version "7.5")
         (source
          (origin
            (method url-fetch)
    @@ -175,7 +175,7 @@ feature detection and cosmetic corrections.")
                  "ftp://ftp.atnf.csiro.au/pub/software/wcslib/wcslib-" version
                  ".tar.bz2"))
            (sha256
    -        (base32 "072i1id4zk08mwi2c1zpy8zxrabl8dqyklx9ikbd2nh56r0rc752"))))
    +        (base32 "1536gmcpm6pckn9xrb6j8s4pm1vryjhzvhfaj9wx3jwxcpbdy0dw"))))
         (inputs
          `(("cfitsio" ,cfitsio)))
         (build-system gnu-build-system)
    
    From 7b01a59d85301954c366d1f728f69709cbeeeece Mon Sep 17 00:00:00 2001
    From: Leo Famulari 
    Date: Sat, 20 Mar 2021 22:50:12 -0400
    Subject: [PATCH 0870/1003] gnu: linux-libre: Update to 5.11.8.
    
    * gnu/packages/linux.scm (linux-libre-5.11-version): Update to 5.11.8.
    (linux-libre-5.11-pristine-source): Update hash.
    ---
     gnu/packages/linux.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
    index 2bb3900495..23c1adf650 100644
    --- a/gnu/packages/linux.scm
    +++ b/gnu/packages/linux.scm
    @@ -354,7 +354,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
     
     ;; The current "stable" kernels. That is, the most recently released major
     ;; versions that are still supported upstream.
    -(define-public linux-libre-5.11-version "5.11.7")
    +(define-public linux-libre-5.11-version "5.11.8")
     (define deblob-scripts-5.11
       (linux-libre-deblob-scripts
        linux-libre-5.11-version
    @@ -362,7 +362,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
        (base32 "0yvr80g200hdryz54gdnzj4fl38pf7g4qbgj475rhcfwixhp1j7n")))
     (define-public linux-libre-5.11-pristine-source
       (let ((version linux-libre-5.11-version)
    -        (hash (base32 "1cd87v6j8nk89pjqqsaviyzx9lj0d51j46n1in7cjlg18wng3da9")))
    +        (hash (base32 "17y8q0gy4b00rms6pgglzmzz4msvmn2frqvln9vac39m78k3kyci")))
        (make-linux-libre-source version
                                 (%upstream-linux-source version hash)
                                 deblob-scripts-5.11)))
    
    From 0a202d0b442087a0be1fd8c9801bd485234fa40e Mon Sep 17 00:00:00 2001
    From: Leo Famulari 
    Date: Sat, 20 Mar 2021 22:50:40 -0400
    Subject: [PATCH 0871/1003] gnu: linux-libre 5.10: Update to 5.10.25.
    
    * gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.25.
    (linux-libre-5.10-pristine-source): Update hash.
    ---
     gnu/packages/linux.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
    index 23c1adf650..4a05842c9f 100644
    --- a/gnu/packages/linux.scm
    +++ b/gnu/packages/linux.scm
    @@ -370,7 +370,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
     ;; The "longterm" kernels — the older releases with long-term upstream support.
     ;; Here are the support timelines:
     ;; 
    -(define-public linux-libre-5.10-version "5.10.24")
    +(define-public linux-libre-5.10-version "5.10.25")
     (define deblob-scripts-5.10
       (linux-libre-deblob-scripts
        linux-libre-5.10-version
    @@ -378,7 +378,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
        (base32 "0hh27ccqimagr3aij7ygwikxw66y63sqwd0xlf49bhpjd090r9a7")))
     (define-public linux-libre-5.10-pristine-source
       (let ((version linux-libre-5.10-version)
    -        (hash (base32 "0gvnplip90gvlzw9rm0cg66z54cfa82gk23icf5xdickb17d1p66")))
    +        (hash (base32 "1p8s8vp5b6vjmvhj3plm0pr0d9qp5lrwm6l40a4bjr1vk9myf2lk")))
        (make-linux-libre-source version
                                 (%upstream-linux-source version hash)
                                 deblob-scripts-5.10)))
    
    From 06017698c64e988871ebf0ee831a9bde076355ef Mon Sep 17 00:00:00 2001
    From: Leo Famulari 
    Date: Sat, 20 Mar 2021 22:52:53 -0400
    Subject: [PATCH 0872/1003] gnu: linux-libre 5.4: Update to 5.4.107.
    
    * gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.107.
    (linux-libre-5.4-pristine-source): Update hash.
    ---
     gnu/packages/linux.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
    index 4a05842c9f..c67c1c0302 100644
    --- a/gnu/packages/linux.scm
    +++ b/gnu/packages/linux.scm
    @@ -383,7 +383,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
                                 (%upstream-linux-source version hash)
                                 deblob-scripts-5.10)))
     
    -(define-public linux-libre-5.4-version "5.4.106")
    +(define-public linux-libre-5.4-version "5.4.107")
     (define deblob-scripts-5.4
       (linux-libre-deblob-scripts
        linux-libre-5.4-version
    @@ -391,7 +391,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
        (base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8")))
     (define-public linux-libre-5.4-pristine-source
       (let ((version linux-libre-5.4-version)
    -        (hash (base32 "1ny8b69ngydh0iw53jwlmqlgv31wjhkybkgnqi5kv0n174n3p1yc")))
    +        (hash (base32 "0q3m4d96d0hhhzn71aarh314i4cx9h3qvhhi5hrmcsrnbxafyg0w")))
        (make-linux-libre-source version
                                 (%upstream-linux-source version hash)
                                 deblob-scripts-5.4)))
    
    From 46479ec5583ac0e587894e74dad688addb3c3413 Mon Sep 17 00:00:00 2001
    From: Leo Famulari 
    Date: Sat, 20 Mar 2021 22:53:13 -0400
    Subject: [PATCH 0873/1003] gnu: linux-libre 4.19: Update to 4.19.182.
    
    * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.182.
    (linux-libre-4.19-pristine-source): Update hash.
    ---
     gnu/packages/linux.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
    index c67c1c0302..6d2939adca 100644
    --- a/gnu/packages/linux.scm
    +++ b/gnu/packages/linux.scm
    @@ -396,7 +396,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
                                 (%upstream-linux-source version hash)
                                 deblob-scripts-5.4)))
     
    -(define-public linux-libre-4.19-version "4.19.181")
    +(define-public linux-libre-4.19-version "4.19.182")
     (define deblob-scripts-4.19
       (linux-libre-deblob-scripts
        linux-libre-4.19-version
    @@ -404,7 +404,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
        (base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf")))
     (define-public linux-libre-4.19-pristine-source
       (let ((version linux-libre-4.19-version)
    -        (hash (base32 "1kd967azsq6w41ch8iwpv0i4yjkpijzn5avcipi1141dx4ryw62j")))
    +        (hash (base32 "0r93mgvjypmj0glg0912vfq9zbagi59w4d88ynz5gm8sl05pbnq5")))
         (make-linux-libre-source version
                                  (%upstream-linux-source version hash)
                                  deblob-scripts-4.19)))
    
    From 9a757283186766aabd9e179ad8516e724ec16fa1 Mon Sep 17 00:00:00 2001
    From: Efraim Flashner 
    Date: Sun, 21 Mar 2021 22:18:51 +0200
    Subject: [PATCH 0874/1003] gnu: python-httpretty: Update to 1.0.5.
    
    * gnu/packages/web.scm (python-httpretty): Update to 1.0.5.
    [arguments]: Disable tests. Add custom 'check phase.
    [propagated-inputs]: Remove field.
    [native-inputs]: Remove python-httplib2, python-mock,
    python-nose-randomly, python-urllib3. Add python-eventlet.
    ---
     gnu/packages/web.scm | 24 ++++++++++++++----------
     1 file changed, 14 insertions(+), 10 deletions(-)
    
    diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
    index b3be3b734e..cbeb916f93 100644
    --- a/gnu/packages/web.scm
    +++ b/gnu/packages/web.scm
    @@ -10,7 +10,7 @@
     ;;; Copyright © 2015 Eric Dvorsak 
     ;;; Copyright © 2016 Sou Bunnbu 
     ;;; Copyright © 2016 Jelle Licht 
    -;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner 
    +;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner 
     ;;; Copyright © 2016 Rene Saavedra 
     ;;; Copyright © 2016 Ben Woodcroft 
     ;;; Copyright © 2016 Clément Lassieur 
    @@ -6311,27 +6311,31 @@ message stream (in a web server that is per connection).")
     (define-public python-httpretty
       (package
         (name "python-httpretty")
    -    (version "0.9.6")
    +    (version "1.0.5")
         (source
          (origin
            (method url-fetch)
            (uri (pypi-uri "httpretty" version))
            (sha256
    -        (base32 "1p1rb4mpngh0632xrmdfhvc8yink519yfkqz97d2ww3y0x2jvd81"))))
    +        (base32 "1dg0nfl7i9kjnq98ww98x2afzav4mpgiwzvjc43ily1x9my94g75"))))
         (build-system python-build-system)
    -    (propagated-inputs
    -     `(("python-six" ,python-six)))
    +    (arguments
    +     `(#:tests? #f  ; Tests require network access.
    +       #:phases
    +       (modify-phases %standard-phases
    +         (replace 'check
    +           (lambda* (#:key tests? #:allow-other-keys)
    +             (when tests?
    +               (invoke "nosetests"))
    +             #t)))))
         (native-inputs
          `(("python-coverage" ,python-coverage)
    -       ("python-httplib2" ,python-httplib2)
    -       ("python-mock" ,python-mock)
    +       ("python-eventlet" ,python-eventlet)
            ("python-nose" ,python-nose)
    -       ("python-nose-randomly" ,python-nose-randomly)
            ("python-rednose" ,python-rednose)
            ("python-requests" ,python-requests)
            ("python-sure" ,python-sure)
    -       ("python-tornado" ,python-tornado)
    -       ("python-urllib3" ,python-urllib3)))
    +       ("python-tornado" ,python-tornado)))
         (home-page "https://httpretty.readthedocs.io")
         (synopsis "HTTP client mock for Python")
         (description "@code{httpretty} is a helper for faking web requests,
    
    From c721e00ef19b3eb86c8eca78102cbe7d31ea27af Mon Sep 17 00:00:00 2001
    From: Efraim Flashner 
    Date: Sun, 21 Mar 2021 22:24:27 +0200
    Subject: [PATCH 0875/1003] gnu: python-pygithub: Update to 1.54.1.
    
    * gnu/packages/python-xyz.scm (python-pygithub): Update to 1.54.1.
    [arguments]: Remove 'disable-failing-tests, 'prepare-for-tests phases.
    Add custom 'check phase.
    [propagated-inputs]: Add python-cryptography.
    [native-inputs]: Add python-httpretty, python-pytest.
    ---
     gnu/packages/python-xyz.scm | 34 ++++++++++++++--------------------
     1 file changed, 14 insertions(+), 20 deletions(-)
    
    diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
    index 88c472d50f..bbe52ff5eb 100644
    --- a/gnu/packages/python-xyz.scm
    +++ b/gnu/packages/python-xyz.scm
    @@ -3815,7 +3815,7 @@ to deprecate classes, functions or methods.")
     (define-public python-pygithub
       (package
         (name "python-pygithub")
    -    (version "1.43.8")
    +    (version "1.54.1")
         (source
          ;; We fetch from the Git repo because there are no tests in the PyPI
          ;; archive.
    @@ -3826,30 +3826,24 @@ to deprecate classes, functions or methods.")
                  (commit (string-append "v" version))))
            (file-name (git-file-name name version))
            (sha256
    -        (base32 "1625v558xga5mwhl9jqmibywy5qafmg1vqrirqz6zfq1la1d22mw"))))
    +        (base32 "1nl74bp5ikdnrc8xq0qr25ryl1mvarf0xi43k8w5jzlrllhq0nkq"))))
         (build-system python-build-system)
         (arguments
    -     `(#:phases (modify-phases %standard-phases
    -                  ;; Some tests rely on the network.
    -                  (add-after 'unpack 'disable-failing-tests
    -                    (lambda _
    -                      (substitute* "tests/Issue142.py"
    -                        (("testDecodeJson") "disabled_testDecodeJson"))
    -                      #t))
    -                  (add-before 'check 'prepare-for-tests
    -                    (lambda _
    -                      (for-each (lambda (f)
    -                                  (chmod f #o666))
    -                                (find-files "./tests"))
    -                      (system* "python" "-m" "lib2to3" "-w" "-n" "tests")
    -                      (setenv "PYTHONPATH"
    -                              (string-append "./tests:" (getenv "PYTHONPATH")))
    -                      #t)))))
    +     `(#:phases
    +       (modify-phases %standard-phases
    +         (replace 'check
    +           (lambda* (#:key tests? #:allow-other-keys)
    +             (when tests?
    +               (invoke "pytest"))
    +             #t)))))
         (propagated-inputs
    -     `(("python-deprecated" ,python-deprecated)
    +     `(("python-cryptography" ,python-cryptography)
    +       ("python-deprecated" ,python-deprecated)
            ("python-pyjwt" ,python-pyjwt)
            ("python-requests" ,python-requests)))
    -    (native-inputs `(("python-httpretty" ,python-httpretty)))
    +    (native-inputs
    +     `(("python-httpretty" ,python-httpretty)
    +       ("python-pytest" ,python-pytest)))
         (home-page "https://pygithub.readthedocs.io/en/latest/")
         (synopsis "Python library for the GitHub API")
         (description "This library allows managing GitHub resources such as
    
    From 8ce8ff7db97fff803c569f0768f35f9cdbef706d Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 17:11:58 +0100
    Subject: [PATCH 0876/1003] gnu: perl-net-http: Update to 6.21.
    
    * gnu/packages/web.scm (perl-net-http): Update to 6.21.
    ---
     gnu/packages/web.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
    index cbeb916f93..ef11cb6a1c 100644
    --- a/gnu/packages/web.scm
    +++ b/gnu/packages/web.scm
    @@ -4071,7 +4071,7 @@ is limited to http and https.")
     (define-public perl-net-http
       (package
         (name "perl-net-http")
    -    (version "6.20")
    +    (version "6.21")
         (source (origin
                  (method url-fetch)
                  (uri (string-append
    @@ -4079,7 +4079,7 @@ is limited to http and https.")
                        "Net-HTTP-" version ".tar.gz"))
                  (sha256
                   (base32
    -               "07lzfycza7qqxli18xgsnqwiwxapl0b64z33wfw62aai4hm7nllj"))))
    +               "1i7fk6q1iaxzgf82mjd5hg77hvy7dbb79488cijg16dyfrds6nip"))))
         (build-system perl-build-system)
         (propagated-inputs
          `(("perl-io-socket-ssl" ,perl-io-socket-ssl)
    
    From cf5a4b2e454db400cffbf7d1ee42b19a64dc50ae Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 17:23:35 +0100
    Subject: [PATCH 0877/1003] gnu: mbpfan: Update to 2.2.1.
    
    * gnu/packages/linux.scm (mbpfan): Update to 2.2.1.
    ---
     gnu/packages/linux.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
    index 6d2939adca..3343f4618f 100644
    --- a/gnu/packages/linux.scm
    +++ b/gnu/packages/linux.scm
    @@ -7001,7 +7001,7 @@ interface to this kernel feature.")
     (define-public mbpfan
       (package
         (name "mbpfan")
    -    (version "2.1.1")
    +    (version "2.2.1")
         (source
          (origin
            (method git-fetch)
    @@ -7010,7 +7010,7 @@ interface to this kernel feature.")
                  (commit (string-append "v" version))))
            (file-name (git-file-name name version))
            (sha256
    -        (base32 "0aijyxrqh01x0s80yr4cgxgd001iiqqph65pxvby7f0wz8lnxnqj"))))
    +        (base32 "0gc9ypxi55vxs77nx8ihhh9zk7fr9v0m0zfm76q7x0bi6jz11mbr"))))
         (build-system gnu-build-system)
         (arguments
          `(#:tests? #f                      ; tests ask to be run as root
    
    From bba6d1521032f7a50649d3f0fc91d84a8c09ca21 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 17:23:54 +0100
    Subject: [PATCH 0878/1003] gnu: haveged: Update to 1.9.14.
    
    * gnu/packages/linux.scm (haveged): Update to 1.9.14.
    ---
     gnu/packages/linux.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
    index 3343f4618f..69e573d26b 100644
    --- a/gnu/packages/linux.scm
    +++ b/gnu/packages/linux.scm
    @@ -5797,7 +5797,7 @@ cpufreq sub-system is enabled or not.")
     (define-public haveged
       (package
         (name "haveged")
    -    (version "1.9.13")
    +    (version "1.9.14")
         (source
          (origin
            (method git-fetch)
    @@ -5806,7 +5806,7 @@ cpufreq sub-system is enabled or not.")
                  (commit (string-append "v" version))))
            (file-name (git-file-name name version))
            (sha256
    -        (base32 "0g3hcvpky76cabgcfqh65fay7nnjkms32sgmlf33q969833hijqz"))))
    +        (base32 "050hmnh5s2s4mb83f4d1fk23mk27pprg840c1aagc6v1sz6x5dhq"))))
         (build-system gnu-build-system)
         (home-page "https://www.issihosts.com/haveged")
         (synopsis "Entropy source for the Linux random number generator")
    
    From 43ed895379c34797981c9736d7312e5100887e9c Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 17:24:05 +0100
    Subject: [PATCH 0879/1003] gnu: rng-tools: Update to 6.12.
    
    * gnu/packages/linux.scm (rng-tools): Update to 6.12.
    ---
     gnu/packages/linux.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
    index 69e573d26b..a044819236 100644
    --- a/gnu/packages/linux.scm
    +++ b/gnu/packages/linux.scm
    @@ -5688,7 +5688,7 @@ The collection contains a set of bandwidth and latency benchmark such as:
       (package
         (name "rng-tools")
         (home-page "https://github.com/nhorman/rng-tools")
    -    (version "6.11")
    +    (version "6.12")
         (source (origin
                   (method git-fetch)
                   (uri (git-reference (url home-page)
    @@ -5696,7 +5696,7 @@ The collection contains a set of bandwidth and latency benchmark such as:
                   (file-name (git-file-name name version))
                   (sha256
                    (base32
    -                "0wwvi8a8k2ahhmwln4w970b8gd3in3g13jkbsapkpnspwmlqj5xa"))))
    +                "0z4j3kqh9k3zsrx6257hwh4fa51vqg79c6dnfrj6lhpcll0wh0hm"))))
         (build-system gnu-build-system)
         (arguments
          `(;; Disable support for various hardware entropy sources as they need
    
    From 35c55931bf656f9097d683ab542b85e4c36ee5e5 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 17:24:11 +0100
    Subject: [PATCH 0880/1003] gnu: xfsprogs: Update to 5.11.0.
    
    * gnu/packages/linux.scm (xfsprogs): Update to 5.11.0.
    ---
     gnu/packages/linux.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
    index a044819236..0eaf014b5c 100644
    --- a/gnu/packages/linux.scm
    +++ b/gnu/packages/linux.scm
    @@ -7207,7 +7207,7 @@ compatible with Python's ConfigParser style of .INI files, including RFC
     (define-public xfsprogs
       (package
         (name "xfsprogs")
    -    (version "5.10.0")
    +    (version "5.11.0")
         (source (origin
                   (method url-fetch)
                   (uri (string-append
    @@ -7215,7 +7215,7 @@ compatible with Python's ConfigParser style of .INI files, including RFC
                         "xfsprogs-" version ".tar.gz"))
                   (sha256
                    (base32
    -                "1wcvcv9fl955g3zl68057hq7pp9bm7i733vc7j6xr6wnfd8qf6sr"))))
    +                "1byj53qdwsii35d0f11nz0dl618mpvwy5aa44pc9zg281g2r27ab"))))
         (build-system gnu-build-system)
         (outputs (list "out" "python"))
         (arguments
    
    From b3c29d90a637bbfd50ae4de6bd34d8c440a41aa9 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 17:24:23 +0100
    Subject: [PATCH 0881/1003] gnu: openresolv: Update to 3.12.0.
    
    * gnu/packages/dns.scm (openresolv): Update to 3.12.0.
    ---
     gnu/packages/dns.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
    index 5d0d9f8396..953933d880 100644
    --- a/gnu/packages/dns.scm
    +++ b/gnu/packages/dns.scm
    @@ -1287,14 +1287,14 @@ and TCP-capable recursive DNS server for finding domains on the internet.")
     (define-public openresolv
       (package
         (name "openresolv")
    -    (version "3.10.0")
    +    (version "3.12.0")
         (source (origin
                   (method url-fetch)
                   (uri (string-append "https://roy.marples.name/downloads/openresolv/"
                                       "openresolv-" version ".tar.xz"))
                   (sha256
                    (base32
    -                "01ms6c087la4hk0f0w6n2vpsb7dg4kklah2rqyhz88p0vr9bqy20"))
    +                "15qvp5va2yrqpz0ba54clvn8cbc66v4sl7k3bi9ji8jpx040bcs2"))
                   (patches
                    (search-patches "openresolv-restartcmd-guix.patch"))))
         (build-system gnu-build-system)
    
    From 759e9acd8f09e48ae20d4ee7985274d72331ccad Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 17:24:32 +0100
    Subject: [PATCH 0882/1003] gnu: webkitgtk: Update to 2.30.6.
    
    * gnu/packages/webkit.scm (webkitgtk): Update to 2.30.6.
    ---
     gnu/packages/webkit.scm | 6 +++---
     1 file changed, 3 insertions(+), 3 deletions(-)
    
    diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
    index bda05cc715..89eee74def 100644
    --- a/gnu/packages/webkit.scm
    +++ b/gnu/packages/webkit.scm
    @@ -3,7 +3,7 @@
     ;;; Copyright © 2015 David Hashe 
     ;;; Copyright © 2015 Ricardo Wurmus 
     ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver 
    -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice 
    +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice 
     ;;; Copyright © 2018 Pierre Neidhardt 
     ;;; Copyright © 2019 Marius Bakke 
     ;;;
    @@ -226,14 +226,14 @@ acceleration in mind, leveraging common 3D graphics APIs for best performance.")
     (define-public webkitgtk
       (package
         (name "webkitgtk")
    -    (version "2.30.5")
    +    (version "2.30.6")
         (source (origin
                   (method url-fetch)
                   (uri (string-append "https://www.webkitgtk.org/releases/"
                                       "webkitgtk-" version ".tar.xz"))
                   (sha256
                    (base32
    -                "07vzbbnvz69rn9pciji4axfpclp98bpj4a0br2z0gbn5wc4an3bx"))
    +                "07kwkn7gnlfw4idl5vyyzhzbj2bjzvjrclbikn9vaw0pm73nwwsh"))
                   (patches (search-patches "webkitgtk-share-store.patch"
                                            "webkitgtk-bind-all-fonts.patch"))))
         (build-system cmake-build-system)
    
    From a0b3d968beb1c2f81b87d8176c51236c664d88e6 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 18:05:22 +0100
    Subject: [PATCH 0883/1003] gnu: msmtp: Update to 1.8.15.
    
    * gnu/packages/mail.scm (msmtp): Update to 1.8.15.
    ---
     gnu/packages/mail.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
    index 239ddb0eb0..84fcbeab05 100644
    --- a/gnu/packages/mail.scm
    +++ b/gnu/packages/mail.scm
    @@ -1593,14 +1593,14 @@ addons which can add many functionalities to the base client.")
     (define-public msmtp
       (package
         (name "msmtp")
    -    (version "1.8.14")
    +    (version "1.8.15")
         (source
          (origin
            (method url-fetch)
            (uri (string-append "https://marlam.de/msmtp/releases/"
                                "/msmtp-" version ".tar.xz"))
            (sha256
    -        (base32 "1d3knxpwpglg20z4zcsi82mqv9285ah1b1b16k1fk1hlf5fhcvym"))))
    +        (base32 "1klrj2a77671xb6xa0a0iyszhjb7swxhmzpzd4qdybmzkrixqr92"))))
         (build-system gnu-build-system)
         (inputs
          `(("libsecret" ,libsecret)
    
    From 5f9b28b231e17749d14a1b95ae9cad68d7315a1e Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Sun, 21 Mar 2021 18:06:03 +0100
    Subject: [PATCH 0884/1003] gnu: balsa: Update to 2.6.2.
    
    * gnu/packages/mail.scm (balsa): Update to 2.6.2.
    [inputs]: Add libassuan.  Upgrade gtksourceview.
    ---
     gnu/packages/mail.scm | 7 ++++---
     1 file changed, 4 insertions(+), 3 deletions(-)
    
    diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
    index 84fcbeab05..b2a66f8513 100644
    --- a/gnu/packages/mail.scm
    +++ b/gnu/packages/mail.scm
    @@ -3624,14 +3624,14 @@ tools and applications:
     (define-public balsa
       (package
         (name "balsa")
    -    (version "2.6.1")
    +    (version "2.6.2")
         (source
          (origin
            (method url-fetch)
            (uri (string-append "https://pawsa.fedorapeople.org/balsa/"
                                "balsa-" version ".tar.bz2"))
            (sha256
    -        (base32 "1xkxx801p7sbfkn0bh3cz85wra4xf1z1zhjqqc80z1z1nln7fhb4"))))
    +        (base32 "1w0239i01mw4wwwy7xh8gz7zgl5khwvfm5wy35x0swvvax021mai"))))
         (build-system gnu-build-system)
         (arguments
          `(#:configure-flags
    @@ -3653,8 +3653,9 @@ tools and applications:
            ("gnutls" ,gnutls)
            ("gpgme" ,gpgme)
            ("gtk+" ,gtk+)
    -       ("gtksourceview" ,gtksourceview-3)
    +       ("gtksourceview" ,gtksourceview)
            ("gtkspell3" ,gtkspell3)
    +       ("libassuan" ,libassuan)         ; in gpgme.pc Requires
            ("libcanberra" ,libcanberra)
            ("libesmtp" ,libesmtp)
            ("libical" ,libical)
    
    From 9da5ec7099b992a8969a17627548cd341c01bd90 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
    Date: Sun, 14 Mar 2021 15:05:30 +0100
    Subject: [PATCH 0885/1003] substitute: Choose compression method based on past
     CPU usage.
    
    This stems from the observation that substitute download can be
    CPU-bound when high-speed networks are in use:
    
      https://lists.gnu.org/archive/html/guix-devel/2020-12/msg00177.html
    
    * guix/narinfo.scm (decompresses-faster?): New procedure.
    (narinfo-best-uri): Add #:fast-decompression?.
    * guix/scripts/substitute.scm (%prefer-fast-decompression?): New
    variable.
    (call-with-cpu-usage-monitoring): New procedure.
    (with-cpu-usage-monitoring): New macro.
    (display-narinfo-data, process-substitution): Pass #:fast-decompression?
    to 'narinfo-best-uri'.
    (process-substitution): Wrap 'restore-file' call in
    'with-cpu-usage-monitoring'.  Set '%prefer-fast-decompression?'.
    ---
     guix/narinfo.scm            | 27 +++++++++++++++---
     guix/scripts/substitute.scm | 57 ++++++++++++++++++++++++++++++++-----
     2 files changed, 73 insertions(+), 11 deletions(-)
    
    diff --git a/guix/narinfo.scm b/guix/narinfo.scm
    index 2d06124017..72e0f75fda 100644
    --- a/guix/narinfo.scm
    +++ b/guix/narinfo.scm
    @@ -1,5 +1,5 @@
     ;;; GNU Guix --- Functional package management for GNU
    -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès 
    +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès 
     ;;; Copyright © 2014 Nikita Karetnikov 
     ;;; Copyright © 2018 Kyle Meyer 
     ;;;
    @@ -297,9 +297,21 @@ this is a rough approximation."
         (_      (or (string=? compression2 "none")
                     (string=? compression2 "gzip")))))
     
    -(define (narinfo-best-uri narinfo)
    +(define (decompresses-faster? compression1 compression2)
    +  "Return true if COMPRESSION1 generally has a higher decompression throughput
    +than COMPRESSION2."
    +  (match compression1
    +    ("none" #t)
    +    ("zstd" #t)
    +    ("gzip" (string=? compression2 "lzip"))
    +    (_      #f)))
    +
    +(define* (narinfo-best-uri narinfo #:key fast-decompression?)
       "Select the \"best\" URI to download NARINFO's nar, and return three values:
    -the URI, its compression method (a string), and the compressed file size."
    +the URI, its compression method (a string), and the compressed file size.
    +When FAST-DECOMPRESSION? is true, prefer substitutes with faster
    +decompression (typically zstd) rather than substitutes with a higher
    +compression ratio (typically lzip)."
       (define choices
         (filter (match-lambda
                   ((uri compression file-size)
    @@ -321,6 +333,13 @@ the URI, its compression method (a string), and the compressed file size."
               (compresses-better? compression1 compression2))))
           (_ #f)))                                    ;we can't tell
     
    -  (match (sort choices file-size)
                 (narinfo-references narinfo))
     
    -  (let-values (((uri compression file-size) (narinfo-best-uri narinfo)))
    +  (let-values (((uri compression file-size)
    +                (narinfo-best-uri narinfo
    +                                  #:fast-decompression?
    +                                  %prefer-fast-decompression?)))
         (format #t "~a\n~a\n"
                 (or file-size 0)
                 (or (narinfo-size narinfo) 0))))
    @@ -462,7 +486,9 @@ the current output port."
                store-item))
     
       (let-values (((uri compression file-size)
    -                (narinfo-best-uri narinfo)))
    +                (narinfo-best-uri narinfo
    +                                  #:fast-decompression?
    +                                  %prefer-fast-decompression?)))
         (unless print-build-trace?
           (format (current-error-port)
                   (G_ "Downloading ~a...~%") (uri->string uri)))
    @@ -500,11 +526,28 @@ the current output port."
                       ((hashed get-hash)
                        (open-hash-input-port algorithm input)))
           ;; Unpack the Nar at INPUT into DESTINATION.
    -      (restore-file hashed destination
    -                    #:dump-file (if (and destination-in-store?
    -                                         deduplicate?)
    -                                    dump-file/deduplicate*
    -                                    dump-file))
    +      (define cpu-usage
    +        (with-cpu-usage-monitoring
    +         (restore-file hashed destination
    +                       #:dump-file (if (and destination-in-store?
    +                                            deduplicate?)
    +                                       dump-file/deduplicate*
    +                                       dump-file))))
    +
    +      ;; Create a hysteresis: depending on CPU usage, favor compression
    +      ;; methods with faster decompression (like ztsd) or methods with better
    +      ;; compression ratios (like lzip).  This stems from the observation that
    +      ;; substitution can be CPU-bound when high-speed networks are used:
    +      ;; .
    +      ;; To simulate "slow" networking or changing conditions, run:
    +      ;;   sudo tc qdisc add dev eno1 root tbf rate 512kbit latency 50ms burst 1540
    +      ;; and then cancel with:
    +      ;;   sudo tc qdisc del dev eno1 root
    +      (when (> cpu-usage .8)
    +        (set! %prefer-fast-decompression? #t))
    +      (when (< cpu-usage .2)
    +        (set! %prefer-fast-decompression? #f))
    +
           (close-port hashed)
           (close-port input)
     
    
    From d30f8f3a97b6ec2755ce76b2fe2d727fc025428e Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
    Date: Sun, 21 Mar 2021 22:52:53 +0100
    Subject: [PATCH 0886/1003] gnu: poke: Update to 1.1.
    
    * gnu/packages/engineering.scm (poke): Update to 1.1.
    ---
     gnu/packages/engineering.scm | 8 ++------
     1 file changed, 2 insertions(+), 6 deletions(-)
    
    diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
    index 9358b2fd49..f3c6e6f3cd 100644
    --- a/gnu/packages/engineering.scm
    +++ b/gnu/packages/engineering.scm
    @@ -2968,18 +2968,14 @@ GUI.")
     (define-public poke
       (package
         (name "poke")
    -    (version "1.0")
    +    (version "1.1")
         (source (origin
                   (method url-fetch)
                   (uri (string-append "mirror://gnu/poke/poke-" version
                                       ".tar.gz"))
                   (sha256
                    (base32
    -                "02jvla69xd0nnlg2bil2vxxxglqgylswml6h5hy2nxy0023hp4yy"))))
    -
    -    ;; XXX: Version 1.0 only supports 64-bit systems.
    -    (supported-systems '("x86_64-linux" "aarch64-linux"))
    -
    +                "1mkaq19a8d951n9l6d3f8rwq45a7gkr05snb285idd21qxixys6d"))))
         (build-system gnu-build-system)
         ;; The GUI, which we elide, requires tcl and tk.
         (native-inputs `(;; Requires bison 3.6+ but we currently only have 3.5.
    
    From cab18315288a00131e04d1e5720039f5a44c1975 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= 
    Date: Sun, 21 Mar 2021 23:28:13 +0100
    Subject: [PATCH 0887/1003] gnu-maintenance: Exclude GNU Radio from the
     'gnu-ftp' updater predicate.
    
    'gnu-ftp' would only list old GNU Radio releases since new releases are
    no longer uploaded to ftp.gnu.org.  With this change, 'generic-html' is
    picked up instead.
    
    * guix/gnu-maintenance.scm (pure-gnu-package?): Return #f for GNU Radio.
    ---
     guix/gnu-maintenance.scm | 5 +++--
     1 file changed, 3 insertions(+), 2 deletions(-)
    
    diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm
    index 7bd08c1208..031a899a6c 100644
    --- a/guix/gnu-maintenance.scm
    +++ b/guix/gnu-maintenance.scm
    @@ -610,11 +610,12 @@ list available from %GNU-FILE-LIST-URI over HTTP(S)."
     (define (pure-gnu-package? package)
       "Return true if PACKAGE is a non-Emacs and non-GNOME GNU package.  This
     excludes AucTeX, for instance, whose releases are now uploaded to
    -elpa.gnu.org, and all the GNOME packages; EMMS is included though, because its
    -releases are on gnu.org."
    +elpa.gnu.org, GNU Radio, which has releases at www.gnuradio.org, and all the
    +GNOME packages; EMMS is included though, because its releases are on gnu.org."
       (and (or (not (string-prefix? "emacs-" (package-name package)))
                (gnu-hosted? package))
            (not (gnome-package? package))
    +       (not (string-prefix? "gnuradio" (package-name package)))
            (gnu-package? package)))
     
     (define gnu-hosted?
    
    From 17b408e6a219d64643717cfde16ce04eea0a4590 Mon Sep 17 00:00:00 2001
    From: Felix Gruber 
    Date: Sun, 21 Mar 2021 10:10:03 +0100
    Subject: [PATCH 0888/1003] gnu: oil: Update to 0.8.8.
    
    * gnu/packages/shells.scm (oil): Update to 0.8.8.
    
    Signed-off-by: Leo Famulari 
    ---
     gnu/packages/shells.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
    index c348bfde94..62b7dc75fd 100644
    --- a/gnu/packages/shells.scm
    +++ b/gnu/packages/shells.scm
    @@ -825,14 +825,14 @@ Shell (pdksh).")
     (define-public oil
       (package
         (name "oil")
    -    (version "0.8.7")
    +    (version "0.8.8")
         (source
          (origin
            (method url-fetch)
            (uri (string-append "https://www.oilshell.org/download/oil-"
                                version ".tar.gz"))
            (sha256
    -        (base32 "0yxd020jkwhhvq2l8hd9npp2vn6fvm11f0izfzwdl2npbnc976jr"))))
    +        (base32 "1g3xk160x9k5smfc9k8nnxcj7w1nacmnhnpmm72am9rjp1vpv9h1"))))
         (build-system gnu-build-system)
         (arguments
          `(#:strip-binaries? #f             ; strip breaks the binary
    
    From ccb7d1340d51b54ec6c916bd2a32b8ac3d334e51 Mon Sep 17 00:00:00 2001
    From: Efraim Flashner 
    Date: Mon, 22 Mar 2021 09:19:27 +0200
    Subject: [PATCH 0889/1003] gnu: python-pytest-django: Build with pytest-6.
    
    * gnu/packages/django.scm (python-pytest-django)[propagated-inputs]:
    Replace python-pytest with python-pytest-6.
    ---
     gnu/packages/django.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
    index 66287599f1..7122ba3071 100644
    --- a/gnu/packages/django.scm
    +++ b/gnu/packages/django.scm
    @@ -1,6 +1,6 @@
     ;;; GNU Guix --- Functional package management for GNU
     ;;; Copyright © 2016 Hartmut Goebel 
    -;;; Copyright © 2016, 2019, 2020 Efraim Flashner 
    +;;; Copyright © 2016, 2019, 2020, 2021 Efraim Flashner 
     ;;; Copyright © 2017 Nikita 
     ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice 
     ;;; Copyright © 2017 Ricardo Wurmus 
    @@ -346,7 +346,7 @@ size and quality.")
            ;; For tests.
            ("python-pytest-xdist" ,python-pytest-xdist)))
         (propagated-inputs
    -     `(("python-pytest" ,python-pytest)))
    +     `(("python-pytest" ,python-pytest-6)))
         (home-page "https://pytest-django.readthedocs.org/")
         (synopsis "Django plugin for py.test")
         (description "Pytest-django is a plugin for py.test that provides a set of
    
    From 4d0fe40f65e096a4d07f4cc8c95139a4dda96c53 Mon Sep 17 00:00:00 2001
    From: Efraim Flashner 
    Date: Mon, 22 Mar 2021 09:54:02 +0200
    Subject: [PATCH 0890/1003] gnu: sequoia4pEp: Move to sequoia.scm.
    
    Don't have cross module package inheritance.
    
    * gnu/packages/pep.scm (sequoia4pEp): Move to ...
    * gnu/packages/sequoia.scm (sequoia4pEp): ... here. Hide package.
    ---
     gnu/packages/pep.scm     | 15 ---------------
     gnu/packages/sequoia.scm | 16 ++++++++++++++++
     2 files changed, 16 insertions(+), 15 deletions(-)
    
    diff --git a/gnu/packages/pep.scm b/gnu/packages/pep.scm
    index 2bcedf9979..289796a377 100644
    --- a/gnu/packages/pep.scm
    +++ b/gnu/packages/pep.scm
    @@ -81,21 +81,6 @@ shell provides options to redirect the output into a pipe or a file.")
            (file-name (string-append name "-" version))
            (sha256 (base32 checksum)))))))
     
    -(define sequoia4pEp
    -  ;; Currently pEp Engine requires sequoia in not-so-current version
    -  (package/inherit sequoia
    -    (name "sequoia")
    -    (version "0.15.0-pEp")
    -    (source
    -     (origin
    -       (method git-fetch)
    -       (uri (git-reference
    -             (url "https://gitlab.com/sequoia-pgp/sequoia.git")
    -             (commit "0eb1b6cd846ea8c36b3dfdf01ec88383fc64f2fe")))
    -       (sha256
    -        (base32 "06dqs9whwp9lfibwp8dqm0aw4nm3s3v4jp2n4fz51zcvsld40nfh"))
    -       (file-name (git-file-name name version))))))
    -
     (define-public pep-engine
       (package
         (name "pep-engine")
    diff --git a/gnu/packages/sequoia.scm b/gnu/packages/sequoia.scm
    index bd8c6248d9..c8b4abf0f5 100644
    --- a/gnu/packages/sequoia.scm
    +++ b/gnu/packages/sequoia.scm
    @@ -203,3 +203,19 @@
     several crates, providing both a low-level and a high-level API for dealing
     with OpenPGP data.")
         (license license:gpl2+)))
    +
    +(define-public sequoia4pEp
    +  ;; Currently pEp Engine requires sequoia in not-so-current version
    +  (package/inherit sequoia
    +    (name "sequoia")
    +    (version "0.15.0-pEp")
    +    (source
    +     (origin
    +       (method git-fetch)
    +       (uri (git-reference
    +             (url "https://gitlab.com/sequoia-pgp/sequoia.git")
    +             (commit "0eb1b6cd846ea8c36b3dfdf01ec88383fc64f2fe")))
    +       (sha256
    +        (base32 "06dqs9whwp9lfibwp8dqm0aw4nm3s3v4jp2n4fz51zcvsld40nfh"))
    +       (file-name (git-file-name name version))))
    +    (properties `((hidden? . #t)))))
    
    From 2d24b80f3c1fe1e510c7fe161ffced4cd12f59db Mon Sep 17 00:00:00 2001
    From: Efraim Flashner 
    Date: Mon, 22 Mar 2021 10:27:52 +0200
    Subject: [PATCH 0891/1003] gnu: rust-log-0.4: Fix inputs.
    
    * gnu/packages/crates-io.scm (rust-log-0.4)[arguments]: Don't skip
    build. Skip tests.
    [cargo-inputs]: Replace rust-cfg-if-0.1 with 1.
    [cargo-development-inputs]: Add rust-serde-1, rust-serde-test-1,
    rust-sval-1, rust-value-bag-1.
    ---
     gnu/packages/crates-io.scm | 9 +++++++--
     1 file changed, 7 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
    index 299a2d1443..537b9c4955 100644
    --- a/gnu/packages/crates-io.scm
    +++ b/gnu/packages/crates-io.scm
    @@ -22050,11 +22050,16 @@ by inspecting the system for user preference.")
             (base32 "04175hv0v62shd82qydq58a48k3bjijmk54v38zgqlbxqkkbpfai"))))
         (build-system cargo-build-system)
         (arguments
    -     `(#:skip-build? #t
    +     `(#:tests? #f  ; Not all test files included in release.
            #:cargo-inputs
    -       (("rust-cfg-if" ,rust-cfg-if-0.1)
    +       (("rust-cfg-if" ,rust-cfg-if-1)
             ("rust-serde" ,rust-serde-1)
             ("rust-sval" ,rust-sval-1)
    +        ("rust-value-bag" ,rust-value-bag-1))
    +       #:cargo-development-inputs
    +       (("rust-serde" ,rust-serde-1)
    +        ("rust-serde-test" ,rust-serde-test-1)
    +        ("rust-sval" ,rust-sval-1)
             ("rust-value-bag" ,rust-value-bag-1))))
         (home-page "https://github.com/rust-lang/log")
         (synopsis "Lightweight logging facade for Rust")
    
    From d177db7997bc2ff8d132fd20785c8b49b616037d Mon Sep 17 00:00:00 2001
    From: Efraim Flashner 
    Date: Mon, 22 Mar 2021 10:29:42 +0200
    Subject: [PATCH 0892/1003] gnu: Add rust-capnp-0.10.
    
    * gnu/packages/crates-io.scm (rust-capnp-0.10): New variable.
    ---
     gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
     1 file changed, 21 insertions(+)
    
    diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
    index 537b9c4955..2b31f2a1bf 100644
    --- a/gnu/packages/crates-io.scm
    +++ b/gnu/packages/crates-io.scm
    @@ -6300,6 +6300,27 @@ spreadsheet file.")
     encoding.")
         (license license:expat)))
     
    +(define-public rust-capnp-0.10
    +  (package
    +    (inherit rust-capnp-0.13)
    +    (name "rust-capnp")
    +    (version "0.10.3")
    +    (source
    +      (origin
    +        (method url-fetch)
    +        (uri (crate-uri "capnp" version))
    +        (file-name
    +         (string-append name "-" version ".tar.gz"))
    +        (sha256
    +         (base32
    +          "17hsnmlcrzksjjpwpz51y8g36xzq8042i2cwns0lsg7rixfw2rxq"))))
    +    (arguments
    +     `(#:cargo-inputs
    +       (("rust-futures" ,rust-futures-0.1)
    +        ("rust-quickcheck" ,rust-quickcheck-0.2))
    +       #:cargo-development-inputs
    +       (("rust-quickcheck" ,rust-quickcheck-0.2))))))
    +
     (define-public rust-capnp-futures-0.13
       (package
         (name "rust-capnp-futures")
    
    From eed0e6173a77e30043b945aa9bdecabcee2e3fcd Mon Sep 17 00:00:00 2001
    From: Efraim Flashner 
    Date: Mon, 22 Mar 2021 10:34:37 +0200
    Subject: [PATCH 0893/1003] gnu: rust-capnp-0.13: Fix build.
    
    * gnu/packages/crates-io.scm (rust-capnp-0.13)[arguments]: Don't skip
    build.
    [cargo-inputs]: Remove rust-futures-0.1. Replace rust-quickcheck-0.2
    with 0.9.
    [cargo-development-inputs]: Replace rust-quickcheck-0.2 with 0.9.
    ---
     gnu/packages/crates-io.scm | 8 +++-----
     1 file changed, 3 insertions(+), 5 deletions(-)
    
    diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
    index 2b31f2a1bf..f7e84f36ef 100644
    --- a/gnu/packages/crates-io.scm
    +++ b/gnu/packages/crates-io.scm
    @@ -6288,12 +6288,10 @@ spreadsheet file.")
             (base32 "1bx2pj0ysmyd1ryd5s43m3c7n5k067x1aciqiiyg4kjswlcs6xjf"))))
         (build-system cargo-build-system)
         (arguments
    -     `(#:skip-build? #t
    -       #:cargo-inputs
    -       (("rust-futures" ,rust-futures-0.1)
    -        ("rust-quickcheck" ,rust-quickcheck-0.2))
    +     `(#:cargo-inputs
    +       (("rust-quickcheck" ,rust-quickcheck-0.9))
            #:cargo-development-inputs
    -       (("rust-quickcheck" ,rust-quickcheck-0.2))))
    +       (("rust-quickcheck" ,rust-quickcheck-0.9))))
         (home-page "https://github.com/capnproto/capnproto-rust")
         (synopsis "Runtime library for Cap'n Proto data encoding")
         (description "This package provides a runtime library for Cap'n Proto data
    
    From af402f42b4f8d9e8c61d9d8d0a371311530ea166 Mon Sep 17 00:00:00 2001
    From: Efraim Flashner 
    Date: Mon, 22 Mar 2021 10:37:42 +0200
    Subject: [PATCH 0894/1003] gnu: Add rust-capnpc-0.10.
    
    * gnu/packages/crates-io.scm (rust-capnpc-0.10): New variable.
    ---
     gnu/packages/crates-io.scm | 18 ++++++++++++++++++
     1 file changed, 18 insertions(+)
    
    diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
    index f7e84f36ef..061ca65002 100644
    --- a/gnu/packages/crates-io.scm
    +++ b/gnu/packages/crates-io.scm
    @@ -6393,6 +6393,24 @@ remote procedure call protocol")
         (description "Cap'n Proto code generation")
         (license license:expat)))
     
    +(define-public rust-capnpc-0.10
    +  (package
    +    (inherit rust-capnpc-0.13)
    +    (name "rust-capnpc")
    +    (version "0.10.2")
    +    (source
    +      (origin
    +        (method url-fetch)
    +        (uri (crate-uri "capnpc" version))
    +        (file-name
    +         (string-append name "-" version ".tar.gz"))
    +        (sha256
    +         (base32
    +          "1zxbmdkr0xfzkfq9p8zn7pp9jjq275qhr8fh9a0cc0ab37yfvbyj"))))
    +    (arguments
    +     `(#:cargo-inputs
    +       (("rust-capnp" ,rust-capnp-0.10))))))
    +
     (define-public rust-caps-0.3
       (package
         (name "rust-caps")
    
    From a6d87015740b42ea6bbad42d48c7a9adc00c1535 Mon Sep 17 00:00:00 2001
    From: Efraim Flashner 
    Date: Mon, 22 Mar 2021 10:38:35 +0200
    Subject: [PATCH 0895/1003] gnu: Add rust-capnp-futures-0.10.
    
    * gnu/packages/crates-io.scm (rust-capnp-futures-0.10): New variable.
    ---
     gnu/packages/crates-io.scm | 22 ++++++++++++++++++++++
     1 file changed, 22 insertions(+)
    
    diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
    index 061ca65002..f847b2b1ef 100644
    --- a/gnu/packages/crates-io.scm
    +++ b/gnu/packages/crates-io.scm
    @@ -6345,6 +6345,28 @@ encoding.")
     messages.")
         (license license:expat)))
     
    +(define-public rust-capnp-futures-0.10
    +  (package
    +    (inherit rust-capnp-futures-0.13)
    +    (name "rust-capnp-futures")
    +    (version "0.10.1")
    +    (source
    +      (origin
    +        (method url-fetch)
    +        (uri (crate-uri "capnp-futures" version))
    +        (file-name
    +         (string-append name "-" version ".tar.gz"))
    +        (sha256
    +         (base32
    +          "0qdiqkp9mh4acpa0dqhpzv2gwf949rj3m85mgwl1rih6gvgbh1zs"))))
    +    (arguments
    +     `(#:cargo-inputs
    +       (("rust-capnp" ,rust-capnp-0.10)
    +        ("rust-futures" ,rust-futures-0.1))
    +       #:cargo-development-inputs
    +       (("rust-capnp" ,rust-capnp-0.10)
    +        ("rust-quickcheck" ,rust-quickcheck-0.2))))))
    +
     (define-public rust-capnp-rpc-0.13
       (package
         (name "rust-capnp-rpc")
    
    From e055e2d5f78db314674de0d14ad0b30d32b85667 Mon Sep 17 00:00:00 2001
    From: Efraim Flashner 
    Date: Mon, 22 Mar 2021 10:39:26 +0200
    Subject: [PATCH 0896/1003] gnu: Add rust-capnp-rpc-0.10: New variable.
    
    * gnu/packages/crates-io.scm (rust-capnp-rpc-0.10): New variable.
    ---
     gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
     1 file changed, 21 insertions(+)
    
    diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
    index f847b2b1ef..9f9460f1b3 100644
    --- a/gnu/packages/crates-io.scm
    +++ b/gnu/packages/crates-io.scm
    @@ -6395,6 +6395,27 @@ messages.")
     remote procedure call protocol")
         (license license:expat)))
     
    +(define-public rust-capnp-rpc-0.10
    +  (package
    +    (inherit rust-capnp-rpc-0.13)
    +    (name "rust-capnp-rpc")
    +    (version "0.10.0")
    +    (source
    +      (origin
    +        (method url-fetch)
    +        (uri (crate-uri "capnp-rpc" version))
    +        (file-name
    +         (string-append name "-" version ".tar.gz"))
    +        (sha256
    +         (base32
    +          "1j6xg7yays1hlm1045wviyn1642yvvi2p4kba26yk07a0kafr3jn"))))
    +    (arguments
    +     `(#:cargo-inputs
    +       (("rust-capnp" ,rust-capnp-0.10)
    +        ("rust-capnp-futures" ,rust-capnp-futures-0.10)
    +        ("rust-capnpc" ,rust-capnpc-0.10)
    +        ("rust-futures" ,rust-futures-0.1))))))
    +
     (define-public rust-capnpc-0.13
       (package
         (name "rust-capnpc")
    
    From 7bc7398c28bcf7e4cbc8ec427ef00f1b05076224 Mon Sep 17 00:00:00 2001
    From: Efraim Flashner 
    Date: Mon, 22 Mar 2021 10:43:09 +0200
    Subject: [PATCH 0897/1003] gnu: rust-capnp-futures-0.13: Fix build.
    
    * gnu/packages/crates-io.scm (rust-capnp-futures-0.13)[arguments]: Don't
    skip build.
    [cargo-inputs]: Replace rust-futures-0.1 with 0.3.
    [cargo-development-inputs]: Replace rust-quickcheck-0.2 with 0.9.
    ---
     gnu/packages/crates-io.scm | 7 +++----
     1 file changed, 3 insertions(+), 4 deletions(-)
    
    diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
    index 9f9460f1b3..f82fd62501 100644
    --- a/gnu/packages/crates-io.scm
    +++ b/gnu/packages/crates-io.scm
    @@ -6332,13 +6332,12 @@ encoding.")
             (base32 "18q93ncbfcnjq7zhvy9idnifypmi2qcp775q7454y3r4lvvdcyyw"))))
         (build-system cargo-build-system)
         (arguments
    -     `(#:skip-build? #t
    -       #:cargo-inputs
    +     `(#:cargo-inputs
            (("rust-capnp" ,rust-capnp-0.13)
    -        ("rust-futures" ,rust-futures-0.1))
    +        ("rust-futures" ,rust-futures-0.3))
            #:cargo-development-inputs
            (("rust-capnp" ,rust-capnp-0.13)
    -        ("rust-quickcheck" ,rust-quickcheck-0.2))))
    +        ("rust-quickcheck" ,rust-quickcheck-0.9))))
         (home-page "https://github.com/capnproto/capnproto-rust")
         (synopsis "Async serialization for Cap'n Proto messages")
         (description "This package provides async serialization for Cap'n Proto
    
    From 87bd8ae928c2b5a653c85d13b5a825d0861cb8ec Mon Sep 17 00:00:00 2001
    From: Efraim Flashner 
    Date: Mon, 22 Mar 2021 10:44:23 +0200
    Subject: [PATCH 0898/1003] gnu: rust-capnp-rpc-0.13: Fix build.
    
    * gnu/packages/crates-io.scm (rust-capnp-rpc-0.13)[arguments]: Don't
    skip build.
    [cargo-inputs]: Replace rust-futures-0.1 with 0.3.
    ---
     gnu/packages/crates-io.scm | 5 ++---
     1 file changed, 2 insertions(+), 3 deletions(-)
    
    diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
    index f82fd62501..72625a91cd 100644
    --- a/gnu/packages/crates-io.scm
    +++ b/gnu/packages/crates-io.scm
    @@ -6381,11 +6381,10 @@ messages.")
         (native-inputs
          `(("capnproto" ,capnproto)))
         (arguments
    -     `(#:skip-build? #t
    -       #:cargo-inputs
    +     `(#:cargo-inputs
            (("rust-capnp" ,rust-capnp-0.13)
             ("rust-capnp-futures" ,rust-capnp-futures-0.13)
    -        ("rust-futures" ,rust-futures-0.1))
    +        ("rust-futures" ,rust-futures-0.3))
            #:cargo-development-inputs
            (("rust-capnpc" ,rust-capnpc-0.13))))
         (home-page "https://github.com/capnproto/capnproto-rust")
    
    From bf3033ef9c7cd0862d5bfa39fe54e3261628f546 Mon Sep 17 00:00:00 2001
    From: Efraim Flashner 
    Date: Mon, 22 Mar 2021 11:02:11 +0200
    Subject: [PATCH 0899/1003] gnu: Add rust-rusqlite-0.19.
    
    * gnu/packages/crates-io.scm (rust-rusqlite-0.19): New variable.
    ---
     gnu/packages/crates-io.scm | 38 ++++++++++++++++++++++++++++++++++++++
     1 file changed, 38 insertions(+)
    
    diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
    index 72625a91cd..ff1b3d953f 100644
    --- a/gnu/packages/crates-io.scm
    +++ b/gnu/packages/crates-io.scm
    @@ -33627,6 +33627,44 @@ please consider using @code{async-std} or @code{tokio}.")
         (native-inputs
          `(("pkg-config" ,pkg-config)))))
     
    +(define-public rust-rusqlite-0.19
    +  (package
    +    (inherit rust-rusqlite-0.23)
    +    (name "rust-rusqlite")
    +    (version "0.19.0")
    +    (source
    +     (origin
    +       (method url-fetch)
    +       (uri (crate-uri "rusqlite" version))
    +       (file-name (string-append name "-" version ".tar.gz"))
    +       (sha256
    +        (base32 "19xq7s0kzhlljm3hqx0vidr91ia8hl49r4m5gwdj9dyywgks5g3f"))))
    +    (arguments
    +     `(#:cargo-inputs
    +       (("rust-bitflags" ,rust-bitflags-1)
    +        ("rust-byteorder" ,rust-byteorder-1)
    +        ("rust-chrono" ,rust-chrono-0.4)
    +        ("rust-csv" ,rust-csv-1)
    +        ("rust-fallible-iterator" ,rust-fallible-iterator-0.2)
    +        ("rust-fallible-streaming-iterator"
    +         ,rust-fallible-streaming-iterator-0.1)
    +        ("rust-lazy-static" ,rust-lazy-static-1)
    +        ("rust-libsqlite3-sys" ,rust-libsqlite3-sys-0.15)
    +        ("rust-lru-cache" ,rust-lru-cache-0.1)
    +        ("rust-memchr" ,rust-memchr-2)
    +        ("rust-serde-json" ,rust-serde-json-1)
    +        ("rust-time" ,rust-time-0.1)
    +        ("rust-url" ,rust-url-1)
    +        ("rust-uuid" ,rust-uuid-0.7))
    +       #:cargo-development-inputs
    +       (("rust-lazy-static" ,rust-lazy-static-1)
    +        ("rust-regex" ,rust-regex-1)
    +        ("rust-tempdir" ,rust-tempdir-0.3)
    +        ("rust-unicase" ,rust-unicase-2)
    +        ("rust-uuid" ,rust-uuid-0.7))))
    +    (inputs
    +     `(("sqlite" ,sqlite)))))
    +
     (define-public rust-rust-argon2-0.7
       (package
         (name "rust-rust-argon2")
    
    From dd70fa810892d5751ac8d534af1c9f9389930164 Mon Sep 17 00:00:00 2001
    From: Efraim Flashner 
    Date: Mon, 22 Mar 2021 11:12:18 +0200
    Subject: [PATCH 0900/1003] gnu: rust-syn-1: Update to 1.0.64.
    
    * gnu/packages/crates-io.scm (rust-syn-1): Update to 1.0.64.
    ---
     gnu/packages/crates-io.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
    index ff1b3d953f..7d4edd9204 100644
    --- a/gnu/packages/crates-io.scm
    +++ b/gnu/packages/crates-io.scm
    @@ -40589,14 +40589,14 @@ browsers.")
     (define-public rust-syn-1
       (package
         (name "rust-syn")
    -    (version "1.0.60")
    +    (version "1.0.64")
         (source
          (origin
            (method url-fetch)
            (uri (crate-uri "syn" version))
            (file-name (string-append name "-" version ".tar.gz"))
            (sha256
    -        (base32 "1080gw6mlja7yl26crya3k403wjdp7v3wx9mxcmpcnlar9z5j067"))))
    +        (base32 "0vsx3448kyym7s5kybrl0qixgya33gzjxaidahya00k1jzlx3n9z"))))
         (build-system cargo-build-system)
         (arguments
          `(#:skip-build? #t
    
    From ff1c7e40252337cb2c992c2d41e0ed4cefe56df0 Mon Sep 17 00:00:00 2001
    From: Efraim Flashner 
    Date: Mon, 22 Mar 2021 11:20:17 +0200
    Subject: [PATCH 0901/1003] gnu: sequoia4pEp: Adjust inputs.
    
    * gnu/packages/sequoia.scm (sequoia4pEp)[arguments]: Override inherited
    cargo-inputs, cargo-development-inputs. Replace inherited 'unpin-deps
    phase.
    ---
     gnu/packages/sequoia.scm | 60 ++++++++++++++++++++++++++++++++++++++++
     1 file changed, 60 insertions(+)
    
    diff --git a/gnu/packages/sequoia.scm b/gnu/packages/sequoia.scm
    index c8b4abf0f5..b75a622c64 100644
    --- a/gnu/packages/sequoia.scm
    +++ b/gnu/packages/sequoia.scm
    @@ -1,5 +1,6 @@
     ;;; GNU Guix --- Functional package management for GNU
     ;;; Copyright © 2019, 2020 Hartmut Goebel 
    +;;; Copyright © 2021 Efraim Flashner 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -22,6 +23,7 @@
       #:use-module (guix git-download)
       #:use-module ((guix licenses) #:prefix license:)
       #:use-module (guix packages)
    +  #:use-module (guix utils)
       #:use-module (gnu packages)
       #:use-module (gnu packages check) ;; python-pytest
       #:use-module (gnu packages crates-io)
    @@ -218,4 +220,62 @@ with OpenPGP data.")
            (sha256
             (base32 "06dqs9whwp9lfibwp8dqm0aw4nm3s3v4jp2n4fz51zcvsld40nfh"))
            (file-name (git-file-name name version))))
    +    (arguments
    +     (substitute-keyword-arguments (package-arguments sequoia)
    +       ((#:cargo-inputs _)
    +        `(("rust-anyhow" ,rust-anyhow-1)
    +          ("rust-base64" ,rust-base64-0.11)
    +          ("rust-bzip2" ,rust-bzip2-0.3)
    +          ("rust-capnp" ,rust-capnp-0.10)
    +          ("rust-capnp-rpc" ,rust-capnp-rpc-0.10)
    +          ("rust-chrono" ,rust-chrono-0.4)
    +          ("rust-clap" ,rust-clap-2)
    +          ("rust-crossterm" ,rust-crossterm-0.13)
    +          ("rust-dirs" ,rust-dirs-2)
    +          ("rust-flate2" ,rust-flate2-1)
    +          ("rust-fs2" ,rust-fs2-0.4)
    +          ("rust-futures" ,rust-futures-0.1)
    +          ("rust-http" ,rust-http-0.1)
    +          ("rust-hyper" ,rust-hyper-0.12)
    +          ("rust-hyper-tls" ,rust-hyper-tls-0.3)
    +          ("rust-idna" ,rust-idna-0.2)
    +          ("rust-itertools" ,rust-itertools-0.8)
    +          ("rust-lalrpop" ,rust-lalrpop-0.17)
    +          ("rust-lalrpop-util" ,rust-lalrpop-util-0.17)
    +          ("rust-lazy-static" ,rust-lazy-static-1)
    +          ("rust-libc" ,rust-libc-0.2)
    +          ("rust-memsec" ,rust-memsec-0.5)
    +          ("rust-native-tls" ,rust-native-tls-0.2)
    +          ("rust-nettle" ,rust-nettle-7)
    +          ("rust-percent-encoding" ,rust-percent-encoding-2)
    +          ("rust-prettytable-rs" ,rust-prettytable-rs-0.8)
    +          ("rust-proc-macro2" ,rust-proc-macro2-1)
    +          ("rust-quickcheck" ,rust-quickcheck-0.9)
    +          ("rust-quote" ,rust-quote-1)
    +          ("rust-rand" ,rust-rand-0.7)
    +          ("rust-regex" ,rust-regex-1)
    +          ("rust-rpassword" ,rust-rpassword-4)
    +          ("rust-rusqlite" ,rust-rusqlite-0.19)
    +          ("rust-sha2" ,rust-sha2-0.8)
    +          ("rust-syn" ,rust-syn-1)
    +          ("rust-tempfile" ,rust-tempfile-3)
    +          ("rust-thiserror" ,rust-thiserror-1)
    +          ("rust-tokio" ,rust-tokio-0.1)
    +          ("rust-tokio-core" ,rust-tokio-core-0.1)
    +          ("rust-tokio-io" ,rust-tokio-io-0.1)
    +          ("rust-unicode-normalization" ,rust-unicode-normalization-0.1)
    +          ("rust-url" ,rust-url-2)
    +          ("rust-zbase32" ,rust-zbase32-0.1)))
    +       ((#:cargo-development-inputs _)
    +        `(("rust-assert-cli" ,rust-assert-cli-0.6)
    +          ("rust-colored" ,rust-colored-1)
    +          ("rust-filetime" ,rust-filetime-0.2)))
    +       ((#:phases phases)
    +        `(modify-phases ,phases
    +           (replace 'unpin-deps
    +             (lambda _
    +               (substitute* (find-files "." "Cargo.toml")
    +                 (("= \"<") "= \"")
    +                 (("= \"=") "= \""))
    +               #t))))))
         (properties `((hidden? . #t)))))
    
    From 8e92c58bc350dbed4a8c1f7cc33cd45ab3f64149 Mon Sep 17 00:00:00 2001
    From: Pierre Neidhardt 
    Date: Mon, 22 Mar 2021 13:16:36 +0100
    Subject: [PATCH 0902/1003] gnu: sbcl: Update to 2.1.2.
    
    * gnu/packages/lisp.scm (sbcl): Update to 2.1.2.
    ---
     gnu/packages/lisp.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
    index c91bf55ac5..29b32956db 100644
    --- a/gnu/packages/lisp.scm
    +++ b/gnu/packages/lisp.scm
    @@ -400,14 +400,14 @@ an interpreter, a compiler, a debugger, and much more.")
     (define-public sbcl
       (package
         (name "sbcl")
    -    (version "2.1.0")
    +    (version "2.1.2")
         (source
          (origin
            (method url-fetch)
            (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
                                version "-source.tar.bz2"))
            (sha256
    -        (base32 "0k12m2z60fnq64m8dgivprs2mvrsnmp7c5ipzx7jzkprcsymdvh5"))))
    +        (base32 "02scrqyp2izsd8xjm2k5j5lhn4pdhd202jlcb54ysmcqjd80awdp"))))
         (build-system gnu-build-system)
         (outputs '("out" "doc"))
         (native-inputs
    
    From a2f3a456bec357394fe550d927c26bbbdaa7ba6e Mon Sep 17 00:00:00 2001
    From: Pierre Neidhardt 
    Date: Mon, 22 Mar 2021 13:18:23 +0100
    Subject: [PATCH 0903/1003] gnu: nyxt: Update to 2-pre-release-6.
    
    * gnu/packages/web-browsers.scm (nyxt): Update to 2-pre-release-6.
    ---
     gnu/packages/web-browsers.scm | 40 ++++++-----------------------------
     1 file changed, 6 insertions(+), 34 deletions(-)
    
    diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
    index 4e78c7555d..e5e726ad19 100644
    --- a/gnu/packages/web-browsers.scm
    +++ b/gnu/packages/web-browsers.scm
    @@ -591,40 +591,12 @@ vim editor and also easily configurable during runtime.  Vimb is mostly keyboard
     driven and does not detract you from your daily work.")
         (license license:gpl3+)))
     
    -;; Nyxt 2 pre-release 5 is incompatible with the new nickname "class*" of defclass-star.
    -;; Use the older commit then.
    -(define sbcl-hu.dwim.defclass-star--no-nickname
    -  (let ((commit "2cf30b37006824ec912cf7732fe6c4f4b414597f"))
    -    (package
    -      (name "sbcl-hu.dwim.defclass-star")
    -      ;; We used to set version from the date when it was a darcs repo, so we
    -      ;; keep the year so that package gets updated on previous installs.
    -      (version (git-version "2015-07-09" "1" commit))
    -      (source
    -       (origin
    -         (method git-fetch)
    -         (uri (git-reference
    -               (url "https://github.com/hu-dwim/hu.dwim.defclass-star")
    -               (commit commit)))
    -         (file-name (git-file-name name version))
    -         (sha256
    -          (base32 "0zmzvwgcp6lpkqxnfphd05v20xqsvz392mx1v98469kavh4zd7hf"))))
    -      (build-system asdf-build-system/sbcl)
    -      (native-inputs
    -       `(("hu.dwim.asdf" ,sbcl-hu.dwim.asdf)))
    -      (arguments
    -       '(#:tests? #f))
    -      (home-page "https://github.com/hu-dwim/hu.dwim.defclass-star")
    -      (synopsis "See sbcl-hu.dwim.defclass-star")
    -      (description "See sbcl-hu.dwim.defclass-star.")
    -      (license license:public-domain))))
    -
     (define-public nyxt
       (package
         (name "nyxt")
         ;; Package the pre-release because latest stable 1.5.0 does not build
         ;; anymore.
    -    (version "2-pre-release-5")
    +    (version "2-pre-release-6")
         (source
          (origin
            (method git-fetch)
    @@ -635,7 +607,7 @@ driven and does not detract you from your daily work.")
                  (commit version)))
            (sha256
             (base32
    -         "1sdafyhiicasd4wyzqnzdyrr16mz55y4b2hf5ya6i7nvm2vyhywl"))
    +         "0kcqp3p070i6x2jj27h8pxzvmhrzsl4kl3vkc8m76abkxc9lvn03"))
            (file-name (git-file-name "nyxt" version))))
         (build-system gnu-build-system)
         (arguments
    @@ -696,6 +668,8 @@ driven and does not detract you from your daily work.")
            ("cl-calispel" ,sbcl-calispel)
            ("cl-containers" ,sbcl-cl-containers)
            ("cl-css" ,sbcl-cl-css)
    +       ("cl-custom-hash-table" ,sbcl-custom-hash-table)
    +       ("cl-html-diff" ,sbcl-cl-html-diff)
            ("cl-json" ,sbcl-cl-json)
            ("cl-markup" ,sbcl-cl-markup)
            ("cl-ppcre" ,sbcl-cl-ppcre)
    @@ -704,16 +678,15 @@ driven and does not detract you from your daily work.")
            ("cluffer" ,sbcl-cluffer)
            ("dexador" ,sbcl-dexador)
            ("enchant" ,sbcl-enchant)
    +       ("file-attributes" ,sbcl-file-attributes)
            ("fset" ,sbcl-fset)
    -       ;; TODO: Use latest upstream for 2 pre-release 6 onward.
    -       ("hu.dwim.defclass-star" ,sbcl-hu.dwim.defclass-star--no-nickname)
    +       ("hu.dwim.defclass-star" ,sbcl-hu.dwim.defclass-star)
            ("iolib" ,sbcl-iolib)
            ("local-time" ,sbcl-local-time)
            ("log4cl" ,sbcl-log4cl)
            ("mk-string-metrics" ,sbcl-mk-string-metrics)
            ("moptilities" ,sbcl-moptilities)
            ("named-readtables" ,sbcl-named-readtables)
    -       ("osicat" ,sbcl-osicat)
            ("parenscript" ,sbcl-parenscript)
            ("plump" ,sbcl-plump)
            ("quri" ,sbcl-quri)
    @@ -726,7 +699,6 @@ driven and does not detract you from your daily work.")
            ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)
            ("trivial-types" ,sbcl-trivial-types)
            ("unix-opts" ,sbcl-unix-opts)
    -       ("usocket" ,sbcl-usocket)
            ;; WebKitGTK deps
            ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
            ("cl-webkit" ,sbcl-cl-webkit)
    
    From 1f958631efd01f7f2ee475117d5ed13a91daae9c Mon Sep 17 00:00:00 2001
    From: Hong Li 
    Date: Mon, 22 Mar 2021 14:21:21 +0100
    Subject: [PATCH 0904/1003] gnu: Add r-chromstardata.
    
    * gnu/packages/bioconductor.scm (r-chromstardata): New variable.
    
    Co-authored-by: Ricardo Wurmus 
    ---
     gnu/packages/bioconductor.scm | 21 +++++++++++++++++++++
     1 file changed, 21 insertions(+)
    
    diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
    index d611f3a491..2b22c510ea 100644
    --- a/gnu/packages/bioconductor.scm
    +++ b/gnu/packages/bioconductor.scm
    @@ -9,6 +9,7 @@
     ;;; Copyright © 2020 Peter Lo 
     ;;; Copyright © 2020, 2021 Mădălin Ionel Patrașcu 
     ;;; Copyright © 2020 Jakub Kądziołka 
    +;;; Copyright © 2021 Hong Li 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -927,6 +928,26 @@ All datasets are restricted to protein coding genes.")
     from Illumina 450k methylation arrays.")
         (license license:artistic2.0)))
     
    +(define-public r-chromstardata
    +  (package
    +    (name "r-chromstardata")
    +    (version "1.16.0")
    +    (source
    +     (origin
    +       (method url-fetch)
    +       (uri (bioconductor-uri "chromstaRData" version 'experiment))
    +       (sha256
    +        (base32
    +         "0ph80d53598635bb8g61acg5rqwnj8644a0gh297r4hgbvwlflab"))))
    +    (properties `((upstream-name . "chromstaRData")))
    +    (build-system r-build-system)
    +    (home-page "https://bioconductor.org/packages/chromstaRData/")
    +    (synopsis "ChIP-seq data for demonstration purposes")
    +    (description
    +     "This package provides ChIP-seq data for demonstration purposes in the
    +chromstaR package.")
    +    (license license:gpl3)))
    +
     (define-public r-genelendatabase
       (package
         (name "r-genelendatabase")
    
    From 0ff888108a6afce6965a445960087ab6b1c79f2a Mon Sep 17 00:00:00 2001
    From: Hong Li 
    Date: Mon, 22 Mar 2021 14:21:47 +0100
    Subject: [PATCH 0905/1003] gnu: Add r-chromstar.
    
    * gnu/packages/bioconductor.scm (r-chromstar): New variable.
    
    Co-authored-by: Ricardo Wurmus 
    ---
     gnu/packages/bioconductor.scm | 38 +++++++++++++++++++++++++++++++++++
     1 file changed, 38 insertions(+)
    
    diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
    index 2b22c510ea..0bcd9a67cd 100644
    --- a/gnu/packages/bioconductor.scm
    +++ b/gnu/packages/bioconductor.scm
    @@ -10643,6 +10643,44 @@ large-scale and fully automated analysis.")
     the earlier snpMatrix package, allowing for uncertainty in genotypes.")
         (license license:gpl3)))
     
    +(define-public r-chromstar
    +  (package
    +    (name "r-chromstar")
    +    (version "1.16.0")
    +    (source
    +     (origin
    +       (method url-fetch)
    +       (uri (bioconductor-uri "chromstaR" version))
    +       (sha256
    +        (base32
    +         "0vgpb7g2cncdn82hia2yzzachyns2zbd7906662g990qjnp2xlm1"))))
    +    (properties `((upstream-name . "chromstaR")))
    +    (build-system r-build-system)
    +    (propagated-inputs
    +     `(("r-bamsignals" ,r-bamsignals)
    +       ("r-biocgenerics" ,r-biocgenerics)
    +       ("r-chromstardata" ,r-chromstardata)
    +       ("r-doparallel" ,r-doparallel)
    +       ("r-foreach" ,r-foreach)
    +       ("r-genomeinfodb" ,r-genomeinfodb)
    +       ("r-genomicalignments" ,r-genomicalignments)
    +       ("r-genomicranges" ,r-genomicranges)
    +       ("r-ggplot2" ,r-ggplot2)
    +       ("r-iranges" ,r-iranges)
    +       ("r-mvtnorm" ,r-mvtnorm)
    +       ("r-reshape2" ,r-reshape2)
    +       ("r-rsamtools" ,r-rsamtools)
    +       ("r-s4vectors" ,r-s4vectors)))
    +    (native-inputs `(("r-knitr" ,r-knitr)))
    +    (home-page "https://github.com/ataudt/chromstaR")
    +    (synopsis "Chromatin state analysis for ChIP-Seq data")
    +    (description
    +     "This package implements functions for combinatorial and differential
    +analysis of ChIP-seq data.  It includes uni- and multivariate peak-calling,
    +export to genome browser viewable files, and functi ons for enrichment
    +analyses.")
    +    (license license:artistic2.0)))
    +
     (define-public r-sushi
       (package
         (name "r-sushi")
    
    From dd4670d40d59c058e140c32d92085f6d02b1cadb Mon Sep 17 00:00:00 2001
    From: Ricardo Wurmus 
    Date: Mon, 22 Mar 2021 14:22:28 +0100
    Subject: [PATCH 0906/1003] gnu: Add r-lsa.
    
    * gnu/packages/cran.scm (r-lsa): New variable.
    ---
     gnu/packages/cran.scm | 26 ++++++++++++++++++++++++++
     1 file changed, 26 insertions(+)
    
    diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
    index 5617383cbc..b9842ca954 100644
    --- a/gnu/packages/cran.scm
    +++ b/gnu/packages/cran.scm
    @@ -26204,6 +26204,32 @@ statistical analysis that share the underlying design philosophy, grammar, and
     data structures of the tidyverse.")
         (license license:gpl3)))
     
    +(define-public r-lsa
    +  (package
    +    (name "r-lsa")
    +    (version "0.73.2")
    +    (source
    +     (origin
    +       (method url-fetch)
    +       (uri (cran-uri "lsa" version))
    +       (sha256
    +        (base32
    +         "1a33irqa6qvbc02z12rgbgv8kxq2gmahy7j5bg8b23lvvaxif06b"))))
    +    (properties `((upstream-name . "lsa")))
    +    (build-system r-build-system)
    +    (propagated-inputs
    +     `(("r-snowballc" ,r-snowballc)))
    +    (home-page "https://cran.r-project.org/package=lsa")
    +    (synopsis "Latent semantic analysis")
    +    (description
    +     "The basic idea of latent semantic analysis (LSA) is, that text do have a
    +higher order (=latent semantic) structure which, however, is obscured by word
    +usage (e.g. through the use of synonyms or polysemy).  By using conceptual
    +indices that are derived statistically via a truncated singular value
    +decomposition (a two-mode factor analysis) over a given document-term matrix,
    +this variability problem can be overcome.")
    +    (license license:gpl2+)))
    +
     (define-public r-mlecens
       (package
         (name "r-mlecens")
    
    From ee4fc3b662994e9d041027c4d0799a173a12d35a Mon Sep 17 00:00:00 2001
    From: Hong Li 
    Date: Mon, 22 Mar 2021 14:26:13 +0100
    Subject: [PATCH 0907/1003] gnu: Add r-signac.
    
    * gnu/packages/bioinformatics.scm (r-signac): New variable.
    
    Co-authored-by: Ricardo Wurmus 
    ---
     gnu/packages/bioinformatics.scm | 62 +++++++++++++++++++++++++++++++++
     1 file changed, 62 insertions(+)
    
    diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
    index eb466868d1..a81c873371 100644
    --- a/gnu/packages/bioinformatics.scm
    +++ b/gnu/packages/bioinformatics.scm
    @@ -20,6 +20,7 @@
     ;;; Copyright © 2020 Pierre Langlois 
     ;;; Copyright © 2020 Bonface Munyoki Kilyungi 
     ;;; Copyright © 2021 Tim Howes 
    +;;; Copyright © 2021 Hong Li 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -15353,3 +15354,64 @@ biological processes.  SBML is useful for models of metabolism, cell
     signaling, and more.  It continues to be evolved and expanded by an
     international community.")
         (license license:lgpl2.1+)))
    +
    +(define-public r-signac
    +  (let ((commit "e0512d348adeda4a3f23a2e8f56d1fe09840e03c")
    +        (revision "1"))
    +    (package
    +      (name "r-signac")
    +      (version (git-version "1.1.1" revision commit))
    +      (source
    +       (origin
    +         (method git-fetch)
    +         (uri (git-reference
    +               (url "https://github.com/timoast/signac/")
    +               (commit commit)))
    +         (file-name (git-file-name name version))
    +         (sha256
    +          (base32
    +           "1yihhrv7zs87ax61la1nb4y12lg3knraw4b20k5digbcwm8488lb"))))
    +      (properties `((upstream-name . "Signac")))
    +      (build-system r-build-system)
    +      (inputs `(("zlib" ,zlib)))
    +      (propagated-inputs
    +       `(("r-annotationfilter" ,r-annotationfilter)
    +         ("r-biocgenerics" ,r-biocgenerics)
    +         ("r-biostrings" ,r-biostrings)
    +         ("r-biovizbase" ,r-biovizbase)
    +         ("r-data-table" ,r-data-table)
    +         ("r-dplyr" ,r-dplyr)
    +         ("r-fastmatch" ,r-fastmatch)
    +         ("r-future" ,r-future)
    +         ("r-future-apply" ,r-future-apply)
    +         ("r-genomeinfodb" ,r-genomeinfodb)
    +         ("r-genomicranges" ,r-genomicranges)
    +         ("r-ggbio" ,r-ggbio)
    +         ("r-ggforce" ,r-ggforce)
    +         ("r-ggplot2" ,r-ggplot2)
    +         ("r-ggrepel" ,r-ggrepel)
    +         ("r-ggseqlogo" ,r-ggseqlogo)
    +         ("r-iranges" ,r-iranges)
    +         ("r-irlba" ,r-irlba)
    +         ("r-lsa" ,r-lsa)
    +         ("r-matrix" ,r-matrix)
    +         ("r-patchwork" ,r-patchwork)
    +         ("r-pbapply" ,r-pbapply)
    +         ("r-rcpp" ,r-rcpp)
    +         ("r-rcpproll" ,r-rcpproll)
    +         ("r-rsamtools" ,r-rsamtools)
    +         ("r-s4vectors" ,r-s4vectors)
    +         ("r-scales" ,r-scales)
    +         ("r-seurat" ,r-seurat)
    +         ("r-seuratobject" ,r-seuratobject)
    +         ("r-stringi" ,r-stringi)
    +         ("r-tidyr" ,r-tidyr)))
    +      (home-page "https://github.com/timoast/signac/")
    +      (synopsis "Analysis of single-cell chromatin data")
    +      (description
    +       "This package provides a framework for the analysis and exploration of
    +single-cell chromatin data.  The Signac package contains functions for
    +quantifying single-cell chromatin data, computing per-cell quality control
    +metrics, dimension reduction and normalization, visualization, and DNA
    +sequence motif analysis.")
    +      (license license:expat))))
    
    From e2757be5d5f07af7aefd5a264fe9a60fc5bbd688 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= 
    Date: Mon, 22 Mar 2021 15:43:15 +0100
    Subject: [PATCH 0908/1003] gnu: gtk-layer-shell: Update to 0.6.0.
    
    * gnu/packages/gtk.scm (gtk-layer-shell): Update to 0.6.0.
    [source]: Switch to git-fetch because release tarballs are no longer provided
    by upstream.
    [arguments]<#:configure-flags>: Add "-Dtests=true" otherwise tests are not
    built for 'check phase to work.
    ---
     gnu/packages/gtk.scm | 14 ++++++++------
     1 file changed, 8 insertions(+), 6 deletions(-)
    
    diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
    index 5b1c4481fd..cf9116214c 100644
    --- a/gnu/packages/gtk.scm
    +++ b/gnu/packages/gtk.scm
    @@ -2192,16 +2192,18 @@ displayed on the other side of the bus.")
     (define-public gtk-layer-shell
       (package
         (name "gtk-layer-shell")
    -    (version "0.1.0")
    +    (version "0.6.0")
         (source
          (origin
    -       (method url-fetch)
    -       (uri (string-append
    -             "https://github.com/wmww/gtk-layer-shell/releases/download/v"
    -             version "/gtk-layer-shell-" version ".tar.xz"))
    +       (method git-fetch)
    +       (uri (git-reference
    +             (url "https://github.com/wmww/gtk-layer-shell")
    +             (commit (string-append "v" version))))
    +       (file-name (git-file-name name version))
            (sha256
    -        (base32 "0ncklk3z0fzlz6p76jdcrr1ykyp1f4ykjjch4x2hfp9bwsnl4a3m"))))
    +        (base32 "1kcp4p3s7sdh9lwniybjdarfy8z69j2j23hfrw98amhwhq39gdcc"))))
         (build-system meson-build-system)
    +    (arguments `(#:configure-flags (list "-Dtests=true")))
         (native-inputs `(("pkg-config" ,pkg-config)
                          ("gobject-introspection" ,gobject-introspection)))
         (inputs `(("wayland" ,wayland)
    
    From ce995d520694c4898028415b9118d711f5bcf125 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= 
    Date: Mon, 22 Mar 2021 15:45:33 +0100
    Subject: [PATCH 0909/1003] gnu: mate-panel: Add missing inputs for Wayland
     support.
    
    * gnu/packages/mate.scm (mate-panel)[inputs]: Add gtk-layer-shell and
    wayland.
    ---
     gnu/packages/mate.scm | 4 +++-
     1 file changed, 3 insertions(+), 1 deletion(-)
    
    diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
    index fbb1a74d09..44420147a3 100644
    --- a/gnu/packages/mate.scm
    +++ b/gnu/packages/mate.scm
    @@ -681,6 +681,7 @@ mate-volume-control, a MATE volume control application and applet.")
          `(("dconf" ,dconf)
            ("cairo" ,cairo)
            ("dbus-glib" ,dbus-glib)
    +       ("gtk-layer-shell" ,gtk-layer-shell)
            ("gtk+" ,gtk+)
            ("libcanberra" ,libcanberra)
            ("libice" ,libice)
    @@ -695,7 +696,8 @@ mate-volume-control, a MATE volume control application and applet.")
            ("mate-desktop" ,mate-desktop)
            ("mate-menus" ,mate-menus)
            ("pango" ,pango)
    -       ("tzdata" ,tzdata)))
    +       ("tzdata" ,tzdata)
    +       ("wayland" ,wayland)))
         (home-page "https://mate-desktop.org/")
         (synopsis "Panel for MATE")
         (description
    
    From b246420e40c80affddd21ba152d019af1f48297f Mon Sep 17 00:00:00 2001
    From: Alexandr Vityazev 
    Date: Wed, 17 Mar 2021 11:03:22 +0300
    Subject: [PATCH 0910/1003] gnu: Add emacs-ivy-avy.
    
    * gnu/packages/emacs-xyz.scm (emacs-ivy-avy): New variable.
    
    Signed-off-by: Jelle Licht 
    ---
     gnu/packages/emacs-xyz.scm | 24 +++++++++++++++++++++++-
     1 file changed, 23 insertions(+), 1 deletion(-)
    
    diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
    index 7085318e58..17ca645858 100644
    --- a/gnu/packages/emacs-xyz.scm
    +++ b/gnu/packages/emacs-xyz.scm
    @@ -90,7 +90,7 @@
     ;;; Copyright © 2020 Jonathan Rostran 
     ;;; Copyright © 2020, 2021 Noah Evans 
     ;;; Copyright © 2020 Brit Butler 
    -;;; Copyright © 2021 Alexandr Vityazev 
    +;;; Copyright © 2021 Alexandr Vityazev 
     ;;; Copyright © 2021 Yurii Kholodkov 
     ;;; Copyright © 2021 Alexey Abramov 
     ;;; Copyright © 2021 Xinglu Chen 
    @@ -27253,3 +27253,25 @@ and prefered services can easily be configured.")
            "This package provides an Elisp wrapper around the Java
     @command{keytool} command and major mode for viewing Java keystores.")
           (license license:expat))))
    +
    +(define-public emacs-ivy-avy
    +  (package
    +    (name "emacs-ivy-avy")
    +    (version "0.13.4")
    +    (source
    +     (origin
    +       (method url-fetch)
    +       (uri (string-append
    +             "https://elpa.gnu.org/packages/"
    +             "ivy-avy-" version ".tar"))
    +       (sha256
    +        (base32 "1q5caxm4rnh4jy5n88dhkdbx1afsshmfki5dl8xsqbdb3y0zq7yi"))))
    +    (build-system emacs-build-system)
    +    (propagated-inputs
    +     `(("emacs-ivy" ,emacs-ivy)
    +       ("emacs-avy" ,emacs-avy)))
    +    (home-page "https://github.com/abo-abo/swiper")
    +    (synopsis "Avy integration for Ivy")
    +    (description
    +     "This package adds a \"C-'\" binding to Ivy minibuffer that uses Avy.")
    +    (license license:gpl3+)))
    
    From 6c1217c22c21e8c570ee9621ebec9d79b3b880f1 Mon Sep 17 00:00:00 2001
    From: Alexandr Vityazev 
    Date: Wed, 17 Mar 2021 12:50:26 +0300
    Subject: [PATCH 0911/1003] gnu: Add emacs-ivy-hydra.
    
    * gnu/packages/emacs-xyz.scm (emacs-ivy-hydra): New variable.
    
    Signed-off-by: Jelle Licht 
    ---
     gnu/packages/emacs-xyz.scm | 24 ++++++++++++++++++++++++
     1 file changed, 24 insertions(+)
    
    diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
    index 17ca645858..640cae5c35 100644
    --- a/gnu/packages/emacs-xyz.scm
    +++ b/gnu/packages/emacs-xyz.scm
    @@ -27275,3 +27275,27 @@ and prefered services can easily be configured.")
         (description
          "This package adds a \"C-'\" binding to Ivy minibuffer that uses Avy.")
         (license license:gpl3+)))
    +
    +(define-public emacs-ivy-hydra
    +  (package
    +    (name "emacs-ivy-hydra")
    +    (version "0.13.5")
    +    (source
    +     (origin
    +       (method url-fetch)
    +       (uri (string-append
    +             "https://elpa.gnu.org/packages/"
    +             "ivy-hydra-" version ".tar"))
    +       (sha256
    +        (base32 "06rln9bnq5hli5rqlm47fb68b8llpqrmzwqqv4rn7mx3854i9a5x"))))
    +    (build-system emacs-build-system)
    +    (propagated-inputs
    +     `(("emacs-ivy" ,emacs-ivy)
    +       ("emacs-hydra" ,emacs-hydra)))
    +    (home-page "https://github.com/abo-abo/swiper")
    +    (synopsis "Additional key bindings for Ivy")
    +    (description
    +     "This package provides the `hydra-ivy/body' command, which is a
    +quasi-prefix map, with many useful bindings.  These bindings are
    +shorter than usual, using mostly unprefixed keys.")
    +    (license license:gpl3+)))
    
    From 3de6fb621a26e848d2bca3caf82caf7df59521c9 Mon Sep 17 00:00:00 2001
    From: Nicolas Goaziou 
    Date: Mon, 22 Mar 2021 22:34:00 +0100
    Subject: [PATCH 0912/1003] gnu: emacs-auctex: Update to 13.0.5.
    
    * gnu/packages/emacs-xyz.scm (emacs-auctex): Update to 13.0.5.
    ---
     gnu/packages/emacs-xyz.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
    index 640cae5c35..7ce4bfe31c 100644
    --- a/gnu/packages/emacs-xyz.scm
    +++ b/gnu/packages/emacs-xyz.scm
    @@ -2210,14 +2210,14 @@ as a library for other Emacs packages.")
     (define-public emacs-auctex
       (package
         (name "emacs-auctex")
    -    (version "13.0.4")
    +    (version "13.0.5")
         (source
          (origin
            (method url-fetch)
            (uri (string-append "https://elpa.gnu.org/packages/"
                                "auctex-" version ".tar"))
            (sha256
    -        (base32 "1362dqb8mcaddda9849gqsj6rzlfq18xprddb74j02884xl7hq65"))))
    +        (base32 "072wwsqfl8n2gi2inbp0s8k1ydr6fh1zyvc3rgynwzibjjniy319"))))
         (build-system emacs-build-system)
         ;; We use 'emacs' because AUCTeX requires dbus at compile time
         ;; ('emacs-minimal' does not provide dbus).
    
    From 75a95ed95ffded86f41908fae103b3a8385e693e Mon Sep 17 00:00:00 2001
    From: Nicolas Goaziou 
    Date: Mon, 22 Mar 2021 22:36:43 +0100
    Subject: [PATCH 0913/1003] gnu: python-duniterpy: Update to 0.62.0.
    
    * gnu/packages/finance.scm (python-duniterpy): Update to 0.62.0.
    ---
     gnu/packages/finance.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
    index e6df40c168..6674452ab5 100644
    --- a/gnu/packages/finance.scm
    +++ b/gnu/packages/finance.scm
    @@ -1109,13 +1109,13 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
     (define-public python-duniterpy
       (package
         (name "python-duniterpy")
    -    (version "0.61.0")
    +    (version "0.62.0")
         (source
          (origin
            (method url-fetch)
            (uri (pypi-uri "duniterpy" version))
            (sha256
    -        (base32 "1dr5zx7hi1ps36p1zw2n66lmikp2frwi3sp4rf2zyd216dl3r1jp"))))
    +        (base32 "1ldiw5j2g92cib9v06kgv4z8dw2zi0x1dmpisf8w78h4kg6712w1"))))
         (build-system python-build-system)
         (arguments
          ;; FIXME: Tests fail with: "TypeError: block_uid() missing 1 required
    
    From b9c150fc9af6704a44218a2d64028a8d5a1e3981 Mon Sep 17 00:00:00 2001
    From: Xinglu Chen 
    Date: Sat, 20 Mar 2021 13:21:54 +0100
    Subject: [PATCH 0914/1003] gnu: Add emacs-password-store-otp.
    
    * gnu/packages/emacs-xyz.scm (emacs-password-store-otp): New variable.
    
    Signed-off-by: Nicolas Goaziou 
    ---
     gnu/packages/emacs-xyz.scm | 26 ++++++++++++++++++++++++++
     1 file changed, 26 insertions(+)
    
    diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
    index 7ce4bfe31c..a147e81289 100644
    --- a/gnu/packages/emacs-xyz.scm
    +++ b/gnu/packages/emacs-xyz.scm
    @@ -15164,6 +15164,32 @@ close, copy, cut, paste, undo, redo.")
     standard Unix password manager\").")
           (license license:gpl2+))))
     
    +(define-public emacs-password-store-otp
    +  (package
    +    (name "emacs-password-store-otp")
    +    (version "0.1.5")
    +    (source
    +     (origin
    +       (method git-fetch)
    +       (uri (git-reference
    +             (url "https://github.com/volrath/password-store-otp.el")
    +             (commit version)))
    +       (sha256
    +        (base32 "0gb48blvnn6ci2wl45z81p41ny7vbgl610hqy6b2hyr2171qjd60"))
    +       (file-name (git-file-name name version))))
    +    (build-system emacs-build-system)
    +    (propagated-inputs
    +     `(("emacs-password-store" ,emacs-password-store)
    +       ("emacs-s" ,emacs-s)))
    +    (home-page "https://github.com/volrath/password-store-otp.el")
    +    (synopsis
    +     "Interact with the @code{pass-otp} extension for @code{pass} from Emacs")
    +    (description "This package provides Emacs functions to interact with the
    +@code{pass-otp} extension for @code{pass}.  It includes functions to import
    +OTP URIs from screenshots of QR codes, and to export them back to QR codes if
    +needed.")
    +    (license license:gpl3+)))
    +
     (define-public emacs-auth-source-pass
       (let ((commit "847a1f54ed48856b4dfaaa184583ef2c84173edf")
             (revision "2"))
    
    From 4d2553e7b56eaeae83010f60ea87587860e431c0 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Mon, 22 Mar 2021 23:39:10 +0100
    Subject: [PATCH 0915/1003] gnu: man-pages: Update to 5.11.
    
    * gnu/packages/man.scm (man-pages): Update to 5.11.
    ---
     gnu/packages/man.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
    index c021a1e2e4..8a548e6e56 100644
    --- a/gnu/packages/man.scm
    +++ b/gnu/packages/man.scm
    @@ -224,7 +224,7 @@ the traditional flat-text whatis databases.")
     (define-public man-pages
       (package
         (name "man-pages")
    -    (version "5.10")
    +    (version "5.11")
         (source
          (origin
            (method url-fetch)
    @@ -234,7 +234,7 @@ the traditional flat-text whatis databases.")
                   (string-append "mirror://kernel.org/linux/docs/man-pages/Archive/"
                                  "man-pages-" version ".tar.xz")))
            (sha256
    -        (base32 "0ql7fqs0w2nbwv1b6ffnzyjz1sysvkhq8kb77wi2z7qip8sja43m"))))
    +        (base32 "1aiwn6yi19idg4jbf7x4x5i06macjv7r8d5fgp1rwnc4a775vniy"))))
         (build-system gnu-build-system)
         (arguments
          '(#:phases (modify-phases %standard-phases (delete 'configure))
    
    From 98c3eed1d5676bcdd17a73fdd78a28bb54b52793 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Mon, 22 Mar 2021 23:39:21 +0100
    Subject: [PATCH 0916/1003] gnu: xchm: Update to 1.32.
    
    * gnu/packages/ebook.scm (xchm): Update to 1.32.
    ---
     gnu/packages/ebook.scm | 6 +++---
     1 file changed, 3 insertions(+), 3 deletions(-)
    
    diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
    index 47bbd1a789..dfc3d9f2e6 100644
    --- a/gnu/packages/ebook.scm
    +++ b/gnu/packages/ebook.scm
    @@ -4,7 +4,7 @@
     ;;; Copyright © 2016, 2017 Alex Griffin 
     ;;; Copyright © 2017, 2019, 2020 Brendan Tildesley 
     ;;; Copyright © 2017 Roel Janssen 
    -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice 
    +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice 
     ;;; Copyright © 2020 Marius Bakke 
     ;;; Copyright © 2020, 2021 Vinicius Monego 
     ;;; Copyright © 2020 Zheng Junjie <873216071@qq.com>
    @@ -542,7 +542,7 @@ Some of the current features:
     (define-public xchm
       (package
         (name "xchm")
    -    (version "1.31")
    +    (version "1.32")
         (source (origin
                   (method url-fetch)
                   (uri (string-append "https://github.com/rzvncj/xCHM"
    @@ -550,7 +550,7 @@ Some of the current features:
                                       version "/xchm-" version ".tar.gz"))
                   (sha256
                    (base32
    -                "0aw6bysqiwbw75n3ad229ihlmh7chqs1wlxm0398z3lfp2y6n7qf"))))
    +                "0b12ym7cn65wy268kbksyhakicwb053c8xfn76q2dawrvbras9dj"))))
         (build-system gnu-build-system)
         (inputs
          `(("wxwidgets" ,wxwidgets)
    
    From 4cc2a2815748047856e7a64ba366c476e69be834 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Mon, 22 Mar 2021 23:52:29 +0100
    Subject: [PATCH 0917/1003] gnu: wesnoth: Update to 1.14.16.
    
    * gnu/packages/games.scm (wesnoth): Update to 1.14.16.
    ---
     gnu/packages/games.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
    index 2f48a9fb75..10f00c9a18 100644
    --- a/gnu/packages/games.scm
    +++ b/gnu/packages/games.scm
    @@ -4083,7 +4083,7 @@ falling, themeable graphics and sounds, and replays.")
     (define-public wesnoth
       (package
         (name "wesnoth")
    -    (version "1.14.15")
    +    (version "1.14.16")
         (source (origin
                   (method url-fetch)
                   (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-"
    @@ -4092,7 +4092,7 @@ falling, themeable graphics and sounds, and replays.")
                                       "wesnoth-" version ".tar.bz2"))
                   (sha256
                    (base32
    -                "05iapxj3nzaqh10y42yq1jf7spxgm4iwjw4qj1c4lnb25xp4mc2h"))))
    +                "1d9hq3dcx0sgs2v4400rg2nw98v46m7bwiqqjv8z8n7vw8kx8lhg"))))
         (build-system cmake-build-system)
         (arguments
          `(#:tests? #f))                    ;no check target
    
    From 897177c98e62ef53af52aeafc349c9e858b41389 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 00:09:32 +0100
    Subject: [PATCH 0918/1003] gnu: celluloid: Update to 0.21.
    
    * gnu/packages/video.scm (celluloid): Update to 0.21.
    ---
     gnu/packages/video.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
    index c818b22451..b5a2aca980 100644
    --- a/gnu/packages/video.scm
    +++ b/gnu/packages/video.scm
    @@ -707,7 +707,7 @@ old-fashioned output methods with powerful ascii-art renderer.")
     (define-public celluloid
       (package
         (name "celluloid")
    -    (version "0.20")
    +    (version "0.21")
         (source
          (origin
            (method url-fetch)
    @@ -715,7 +715,7 @@ old-fashioned output methods with powerful ascii-art renderer.")
                                "/releases/download/v" version
                                "/celluloid-" version ".tar.xz"))
            (sha256
    -        (base32 "0kjjv2pcdvwcn4yi8kbpsca7pnx6cx6xdznv7ppqm0fssx68qyb3"))))
    +        (base32 "1dvyf21iv9hrgv99szc24386vkacmhidm5b4d31hqqjs3b6di692"))))
         (build-system glib-or-gtk-build-system)
         (native-inputs
          `(("intltool" ,intltool)
    
    From ca5420d3b27dcefa9ada704db0d694ff62238b73 Mon Sep 17 00:00:00 2001
    From: Timothy Sample 
    Date: Tue, 9 Mar 2021 11:49:24 -0500
    Subject: [PATCH 0919/1003] gnu: Add disarchive.
    
    * gnu/packages/backup.scm (disarchive): New variable.
    ---
     gnu/packages/backup.scm | 34 ++++++++++++++++++++++++++++++++++
     1 file changed, 34 insertions(+)
    
    diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
    index 78c5b31bb5..860e1abe23 100644
    --- a/gnu/packages/backup.scm
    +++ b/gnu/packages/backup.scm
    @@ -18,6 +18,7 @@
     ;;; Copyright © 2020 Nicolas Goaziou 
     ;;; Copyright © 2020 Marcin Karpezo 
     ;;; Copyright © 2020 Michael Rohleder 
    +;;; Copyright © 2021 Timothy Sample 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -62,6 +63,7 @@
       #:use-module (gnu packages golang)
       #:use-module (gnu packages gperf)
       #:use-module (gnu packages guile)
    +  #:use-module (gnu packages guile-xyz)
       #:use-module (gnu packages linux)
       #:use-module (gnu packages mcrypt)
       #:use-module (gnu packages ncurses)
    @@ -1083,3 +1085,35 @@ interactive mode.")
     to reduce network traffic and the amount of space that is used by each
     backup.")
         (license license:agpl3)))
    +
    +(define-public disarchive
    +  (package
    +    (name "disarchive")
    +    (version "0.2.0")
    +    (source (origin
    +              (method url-fetch)
    +              (uri (string-append "https://files.ngyro.com/disarchive/"
    +                                  "disarchive-" version ".tar.gz"))
    +              (sha256
    +               (base32
    +                "12d4r4i7vi8fxilr2aww6kzq56jax5ymhjfm3cpgx26vj4c70kb6"))))
    +    (build-system gnu-build-system)
    +    (native-inputs
    +     `(("autoconf" ,autoconf)
    +       ("automake" ,automake)
    +       ("pkg-config" ,pkg-config)
    +       ("guile-quickcheck" ,guile-quickcheck)))
    +    (inputs
    +     `(("guile" ,guile-3.0)
    +       ("zlib" ,zlib)))
    +    (propagated-inputs
    +     `(("guile-gcrypt" ,guile-gcrypt)))
    +    (home-page "https://ngyro.com/software/disarchive.html")
    +    (synopsis "Software archive disassembler")
    +    (description "Disarchive can disassemble software archives into data
    +and metadata.  The goal is to create a small amount of metadata that
    +can be used to recreate a software archive bit-for-bit from the
    +original files.  For example, a software archive made using tar and
    +Gzip will need to describe the order of files in the tarball and the
    +compression parameters used by Gzip.")
    +    (license license:gpl3+)))
    
    From 45dfcdba86ff5cf31bdf6e07d73b161f5d7fac42 Mon Sep 17 00:00:00 2001
    From: Vagrant Cascadian 
    Date: Mon, 22 Mar 2021 19:09:20 -0700
    Subject: [PATCH 0920/1003] gnu: diffoscope: Update to 170.
    
    * gnu/packages/diffoscope.scm (diffoscope): Update to 170.
      [arguments]: Remove skip-dex-test-with-missing-procyon phase.
    ---
     gnu/packages/diffoscope.scm | 11 ++---------
     1 file changed, 2 insertions(+), 9 deletions(-)
    
    diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
    index a2490330e0..20ba92709a 100644
    --- a/gnu/packages/diffoscope.scm
    +++ b/gnu/packages/diffoscope.scm
    @@ -72,7 +72,7 @@
     (define-public diffoscope
       (package
         (name "diffoscope")
    -    (version "168")
    +    (version "170")
         (source (origin
                   (method git-fetch)
                   (uri (git-reference
    @@ -81,7 +81,7 @@
                   (file-name (git-file-name name version))
                   (sha256
                    (base32
    -                "18rs4jfx50d7vkaqcc46r7pccgizp0is56267sq13vbfvz758dhh"))))
    +                "0s1z4yc5d10ns4x28d2lm8py30r7sq4764q6b8yxcwxwfrjibmb0"))))
         (build-system python-build-system)
         (arguments
          `(#:phases (modify-phases %standard-phases
    @@ -121,13 +121,6 @@
                           ;; This requires /sbin to be in $PATH.
                           (delete-file "tests/test_tools.py")
                           #t))
    -                  (add-before 'check 'skip-dex-test-with-missing-procyon
    -                    (lambda _
    -                      ;; This test actually requires procyon decompiler
    -                      (substitute* "tests/comparators/test_dex.py"
    -                        (("skip_unless_tools_exist.\"enjarify\", \"zipinfo\", \"javap\"")
    -                         "skip_unless_tools_exist(\"enjarify\", \"zipinfo\", \"javap\", \"procyon\""))
    -                     #t))
                       (add-after 'install 'install-man-page
                         (lambda* (#:key outputs #:allow-other-keys)
                           (let* ((out (assoc-ref outputs "out"))
    
    From e44b968bf6a8041095c3571a5ec71786969f8784 Mon Sep 17 00:00:00 2001
    From: Efraim Flashner 
    Date: Tue, 23 Mar 2021 12:24:39 +0200
    Subject: [PATCH 0921/1003] gnu: rust-env-logger-0.8: Update to 0.8.3.
    
    * gnu/packages/crates-io.scm (rust-env-logger-0.8): Update to 0.8.3.
    ---
     gnu/packages/crates-io.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
    index 7d4edd9204..123a95a9f6 100644
    --- a/gnu/packages/crates-io.scm
    +++ b/gnu/packages/crates-io.scm
    @@ -13071,14 +13071,14 @@ convert enum to u8 slice ref.")
     (define-public rust-env-logger-0.8
       (package
         (name "rust-env-logger")
    -    (version "0.8.2")
    +    (version "0.8.3")
         (source
          (origin
            (method url-fetch)
            (uri (crate-uri "env-logger" version))
            (file-name (string-append name "-" version ".tar.gz"))
            (sha256
    -        (base32 "07k6m6igz02g2b1v7nims7vd8azwxrav43xl14a6rjmxnikcnvpj"))))
    +        (base32 "0gwx1pvbv99fj9wpicknyv4p2vj997xpva8ac5dg03m35q0jlf8p"))))
         (build-system cargo-build-system)
         (arguments
          `(#:cargo-inputs
    
    From b6670d5b3aabf92c582033183b6d839d5784261a Mon Sep 17 00:00:00 2001
    From: la snesne 
    Date: Tue, 23 Mar 2021 09:06:33 +0900
    Subject: [PATCH 0922/1003] gnu: minetest: Update to 5.4.0.
    
    * gnu/packages/games (minetest, minetest-data): Update to 5.4.0.
    
    Signed-off-by: Leo Prikler 
    ---
     gnu/packages/games.scm | 6 +++---
     1 file changed, 3 insertions(+), 3 deletions(-)
    
    diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
    index 10f00c9a18..add8b58ab9 100644
    --- a/gnu/packages/games.scm
    +++ b/gnu/packages/games.scm
    @@ -3464,7 +3464,7 @@ match, cannon keep, and grave-itation pit.")
     (define-public minetest
       (package
         (name "minetest")
    -    (version "5.3.0")
    +    (version "5.4.0")
         (source (origin
                   (method git-fetch)
                   (uri (git-reference
    @@ -3473,7 +3473,7 @@ match, cannon keep, and grave-itation pit.")
                   (file-name (git-file-name name version))
                   (sha256
                    (base32
    -                "03ga3j3cg38w4lg4d4qxasmnjdl8n3lbizidrinanvyfdyvznyh6"))
    +                "1a17g6cmxrscnqwpwrd4w2ck3dgvplyfq4kzyimilfpqar1q69j9"))
                   (modules '((guix build utils)))
                   (snippet
                    '(begin
    @@ -3541,7 +3541,7 @@ in different ways.")
                   (file-name (git-file-name name version))
                   (sha256
                    (base32
    -                "1liciwlh013z5h08ib0psjbwn5wkvlr937ir7kslfk4vly984cjx"))))
    +                "11dz36z0pj2r7i8xm8v5lskzws81ckj6sc0avlmvdl8qdc9x83w5"))))
         (build-system trivial-build-system)
         (native-inputs
          `(("source" ,source)))
    
    From 7fc1fac64a8d800d651f55a80ff158abd7a90ccb Mon Sep 17 00:00:00 2001
    From: la snesne 
    Date: Tue, 23 Mar 2021 09:28:05 +0900
    Subject: [PATCH 0923/1003] gnu: minetest: Enable tests.
    
    * gnu/packages/games.scm (minetest)[arguments]: Remove #:tests?.
    Add #:phases.
    
    Co-authored-by: Leo Prikler 
    ---
     gnu/packages/games.scm | 24 ++++++++++++++++++++++--
     1 file changed, 22 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
    index add8b58ab9..7366e6411e 100644
    --- a/gnu/packages/games.scm
    +++ b/gnu/packages/games.scm
    @@ -3482,7 +3482,7 @@ match, cannon keep, and grave-itation pit.")
                       #t))))
         (build-system cmake-build-system)
         (arguments
    -     '(#:configure-flags
    +     `(#:configure-flags
            (list "-DRUN_IN_PLACE=0"
                  "-DENABLE_FREETYPE=1"
                  "-DENABLE_GETTEXT=1"
    @@ -3493,7 +3493,27 @@ match, cannon keep, and grave-itation pit.")
                  (string-append "-DCURL_INCLUDE_DIR="
                                 (assoc-ref %build-inputs "curl")
                                 "/include/curl"))
    -       #:tests? #f))                    ;no check target
    +       #:phases
    +       (modify-phases %standard-phases
    +         (add-after 'unpack 'patch-sources
    +           (lambda _
    +             (substitute* "src/CMakeLists.txt"
    +               (("set\\(EXECUTABLE_OUTPUT_PATH .*\\)") ""))
    +             (substitute* "src/unittest/test_servermodmanager.cpp"
    +               ;; do no override MINETEST_SUBGAME_PATH
    +               (("(un)?setenv\\(\"MINETEST_SUBGAME_PATH\".*\\);")
    +                "(void)0;"))
    +             (setenv "MINETEST_SUBGAME_PATH"
    +                     (string-append (getcwd) "/games")) ; for check
    +             #t))
    +         (replace 'check
    +           (lambda _
    +             ;; Thanks to our substitutions, the tests should also run
    +             ;; when invoked on the target outside of `guix build'.
    +             (unless ,(%current-target-system)
    +               (setenv "HOME" "/tmp")
    +               (invoke "src/minetest" "--run-unittests"))
    +             #t)))))
         (native-search-paths
          (list (search-path-specification
                 (variable "MINETEST_SUBGAME_PATH")
    
    From d1e1682749b2ad863a78ec3b1e1e840b1dbf5149 Mon Sep 17 00:00:00 2001
    From: Mathieu Othacehe 
    Date: Tue, 23 Mar 2021 11:45:54 +0100
    Subject: [PATCH 0924/1003] gnu: cuirass: Update to 1.0.0-1.0497e0d.
    
    * gnu/packages/ci.scm (cuirass): Update to 1.0.0-1.0497e0d.
    ---
     gnu/packages/ci.scm | 29 ++++++++++++++++-------------
     1 file changed, 16 insertions(+), 13 deletions(-)
    
    diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
    index 8b1bb2986f..4fa85d0893 100644
    --- a/gnu/packages/ci.scm
    +++ b/gnu/packages/ci.scm
    @@ -66,11 +66,11 @@
                     (file-name (string-append name "-" version "-checkout")))))))
     
     (define-public cuirass
    -  (let ((commit "88f3cf65e0b5974c6525d498ebffc607bc62baf0")
    -        (revision "77"))
    +  (let ((commit "0497e0d6c4184223034855b61312d38ffae0b766")
    +        (revision "1"))
         (package
           (name "cuirass")
    -      (version (git-version "0.0.1" revision commit))
    +      (version (git-version "1.0.0" revision commit))
           (source
            (origin
              (method git-fetch)
    @@ -80,7 +80,7 @@
              (file-name (git-file-name name version))
              (sha256
               (base32
    -           "1mwi6i400kjdkfccvbc49fka18dhkcl0rbiqylgpb7lh0pzss9j7"))))
    +           "1y6030kx6c8h927gr30b78b3flwlqx15iakrc2lgw5xw0367gqhg"))))
           (build-system gnu-build-system)
           (arguments
            '(#:modules ((guix build utils)
    @@ -88,6 +88,7 @@
                         (ice-9 rdelim)
                         (ice-9 popen))
              #:configure-flags '("--localstatedir=/var") ;for /var/log/cuirass
    +         #:parallel-tests? #f
              #:phases
              (modify-phases %standard-phases
                (add-before 'check 'set-PATH-for-tests
    @@ -96,6 +97,12 @@
                          (path (getenv "PATH")))
                      (setenv "PATH" (string-append pg "/bin:" path))
                      #t)))
    +           ;; Disable the remote tests that require a Guix daemon connection.
    +           (add-before 'check 'disable-remote-tests
    +             (lambda _
    +               (substitute* "Makefile.am"
    +                 (("tests/remote.scm") ""))
    +               #t))
                (add-after 'install 'wrap-program
                  (lambda* (#:key inputs outputs #:allow-other-keys)
                    ;; Wrap the 'cuirass' command to refer to the right modules.
    @@ -135,15 +142,11 @@
                                                         "/site-ccache:")
                                          'suffix)
                             1)))
    -                 ;; Make sure 'cuirass' can find the 'evaluate' command, as
    -                 ;; well as the relevant Guile modules.
    -                 (for-each
    -                  (lambda (name)
    -                    (wrap-program (string-append out "/bin/" name)
    -                      `("PATH" ":" prefix (,(string-append out "/bin")))
    -                      `("GUILE_LOAD_PATH" ":" prefix (,mods))
    -                      `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,objs))))
    -                  '("cuirass" "remote-server" "remote-worker"))
    +                 ;; Make sure 'cuirass' can find the relevant Guile modules.
    +                 (wrap-program (string-append out "/bin/cuirass")
    +                   `("PATH" ":" prefix (,(string-append out "/bin")))
    +                   `("GUILE_LOAD_PATH" ":" prefix (,mods))
    +                   `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,objs)))
                      #t))))))
           (inputs
            `(("guile" ,guile-3.0/libgc-7)
    
    From 862af8c2ed131a23bdafdc22e7fbdd90765af6b4 Mon Sep 17 00:00:00 2001
    From: Mathieu Othacehe 
    Date: Sun, 21 Mar 2021 15:35:34 +0100
    Subject: [PATCH 0925/1003] ci: Change manifest argument type.
    
    * gnu/ci.scm (arguments->manifests): Change manifest argument type.
    ---
     gnu/ci.scm | 16 ++++++----------
     1 file changed, 6 insertions(+), 10 deletions(-)
    
    diff --git a/gnu/ci.scm b/gnu/ci.scm
    index acd05a18b4..2dcd49ac80 100644
    --- a/gnu/ci.scm
    +++ b/gnu/ci.scm
    @@ -423,16 +423,12 @@ valid."
     
     (define (arguments->manifests arguments channels)
       "Return the list of manifests extracted from ARGUMENTS."
    -  (define (channel-name->checkout name)
    -    (let ((channel (find (lambda (channel)
    -                           (eq? (channel-name channel) name))
    -                         channels)))
    -      (channel-url channel)))
    -
    -  (map (match-lambda
    -         ((name . path)
    -          (let ((checkout (channel-name->checkout name)))
    -            (in-vicinity checkout path))))
    +  (map (lambda (manifest)
    +         (any (lambda (checkout)
    +                (let ((path (in-vicinity checkout manifest)))
    +                  (and (file-exists? path)
    +                       path)))
    +              (map channel-url channels)))
            arguments))
     
     (define (manifests->packages store manifests)
    
    From 0efd68681dcec50d445a4fd080c315b999164828 Mon Sep 17 00:00:00 2001
    From: Mathieu Othacehe 
    Date: Tue, 23 Mar 2021 12:01:23 +0100
    Subject: [PATCH 0926/1003] gnu: cuirass: Update to 1.0.0-2.6f4a203.
    
    * gnu/packages/ci.scm (cuirass): Update to 1.0.0-2.6f4a203.
    ---
     gnu/packages/ci.scm | 6 +++---
     1 file changed, 3 insertions(+), 3 deletions(-)
    
    diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
    index 4fa85d0893..e0c7238f2b 100644
    --- a/gnu/packages/ci.scm
    +++ b/gnu/packages/ci.scm
    @@ -66,8 +66,8 @@
                     (file-name (string-append name "-" version "-checkout")))))))
     
     (define-public cuirass
    -  (let ((commit "0497e0d6c4184223034855b61312d38ffae0b766")
    -        (revision "1"))
    +  (let ((commit "6f4a203a0bb2d441d091d561c1735fbe2d170cf7")
    +        (revision "2"))
         (package
           (name "cuirass")
           (version (git-version "1.0.0" revision commit))
    @@ -80,7 +80,7 @@
              (file-name (git-file-name name version))
              (sha256
               (base32
    -           "1y6030kx6c8h927gr30b78b3flwlqx15iakrc2lgw5xw0367gqhg"))))
    +           "120cnnjy4j2dinfmas1ddmqzzc7ikj9c76sl4li6g6dn8g7s8f69"))))
           (build-system gnu-build-system)
           (arguments
            '(#:modules ((guix build utils)
    
    From 9d4bc79b2adc69196cdc13a1e8ba70fe07feb0e4 Mon Sep 17 00:00:00 2001
    From: Leo Prikler 
    Date: Tue, 23 Mar 2021 13:53:29 +0100
    Subject: [PATCH 0927/1003] gnu: minetest-mineclone: Update to 0.71.0.
    
    * gnu/packages/games.scm (minetest-mineclone): Update to 0.71.0.
    ---
     gnu/packages/games.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
    index 7366e6411e..3f909aad4b 100644
    --- a/gnu/packages/games.scm
    +++ b/gnu/packages/games.scm
    @@ -3586,7 +3586,7 @@ in different ways.")
     (define-public minetest-mineclone
       (package
         (name "minetest-mineclone")
    -    (version "0.66.2")
    +    (version "0.71.0")
         (source (origin
                   (method git-fetch)
                   (uri (git-reference
    @@ -3595,7 +3595,7 @@ in different ways.")
                   (file-name (git-file-name name version))
                   (sha256
                    (base32
    -                "0miszzlzplpvaj0j1yii9867ydr42wsaqa9g6grxdrci75p05g00"))))
    +                "0qm809dqvxc7pa1cr9skmglq9vrbq5hhm4c4m5yi46ldh1v96dgf"))))
         (build-system copy-build-system)
         (arguments
          `(#:install-plan
    
    From 688c066e351c3aa6480e6305caf95786118f790c Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 12:54:54 +0100
    Subject: [PATCH 0928/1003] gnu: xcb-imdkit: Update to 1.0.3.
    
    * gnu/packages/fcitx5.scm (xcb-imdkit): Update to 1.0.3.
    ---
     gnu/packages/fcitx5.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm
    index 17632ed9a6..8d0da3ee8c 100644
    --- a/gnu/packages/fcitx5.scm
    +++ b/gnu/packages/fcitx5.scm
    @@ -52,7 +52,7 @@
     (define-public xcb-imdkit
       (package
         (name "xcb-imdkit")
    -    (version "1.0.2")
    +    (version "1.0.3")
         (source
          (origin
            (method url-fetch)
    @@ -60,7 +60,7 @@
                  "https://download.fcitx-im.org/fcitx5/xcb-imdkit/xcb-imdkit-"
                  version ".tar.xz"))
            (sha256
    -        (base32 "16f7jdnrr8lrll7qvnj0gh3gwzgn5idfsc9rwi1gp1n2mnjrs7w0"))
    +        (base32 "1s58vjkdrgr8h183jz4b4mjn7pbvdc9cli01cn66mgczl9p65hh9"))
            (modules '((guix build utils)))
            (snippet
             '(begin
    
    From 3d5cca1a32b6dd9c24f0805acaea406917989994 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 12:55:01 +0100
    Subject: [PATCH 0929/1003] gnu: libime: Update to 1.0.5.
    
    * gnu/packages/fcitx5.scm (libime): Update to 1.0.5.
    ---
     gnu/packages/fcitx5.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm
    index 8d0da3ee8c..eea60dc1e0 100644
    --- a/gnu/packages/fcitx5.scm
    +++ b/gnu/packages/fcitx5.scm
    @@ -172,14 +172,14 @@ client.")
     (define-public libime
       (package
         (name "libime")
    -    (version "1.0.4")
    +    (version "1.0.5")
         (source
          (origin
            (method url-fetch)
            (uri (string-append "https://download.fcitx-im.org/fcitx5/libime/libime-"
                                version "_dict.tar.xz"))
            (sha256
    -        (base32 "0bwl12cy7crpf62f669qn99rv4df1sjlggvcn80z64yabs36nhjr"))))
    +        (base32 "1w3cxk11kbfmz7snivxq948zfav6dy2245j12ghlxcmdxjshrlhq"))))
         (build-system cmake-build-system)
         (inputs
          `(("fcitx5" ,fcitx5)
    
    From 8cb7854d271cb379724b9c41949b4c972f50b6e1 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 12:59:12 +0100
    Subject: [PATCH 0930/1003] gnu: borg: Update to 1.1.16.
    
    * gnu/packages/backup.scm (borg): Update to 1.1.16.
    ---
     gnu/packages/backup.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
    index 860e1abe23..35cd3cf7f3 100644
    --- a/gnu/packages/backup.scm
    +++ b/gnu/packages/backup.scm
    @@ -572,13 +572,13 @@ detection, and lossless compression.")
     (define-public borg
       (package
         (name "borg")
    -    (version "1.1.15")
    +    (version "1.1.16")
         (source
          (origin
            (method url-fetch)
            (uri (pypi-uri "borgbackup" version))
            (sha256
    -        (base32 "1g62sdzcw3zx4ccky125ciwnzx6z9kwyvskvp7ijmqxqk3nrxjs9"))
    +        (base32 "0l1dqfwrd9l34rg30cmzmq5bs6yha6kg4vy313jq611jsqj94mmw"))
            (modules '((guix build utils)))
            (snippet
             '(begin
    
    From 6cea2873a100f633370f11074603fa04af6f1dbb Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 13:04:43 +0100
    Subject: [PATCH 0931/1003] gnu: mpg123: Update to 1.26.5.
    
    * gnu/packages/mp3.scm (mpg123): Update to 1.26.5.
    ---
     gnu/packages/mp3.scm | 6 +++---
     1 file changed, 3 insertions(+), 3 deletions(-)
    
    diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
    index dba3e17558..675e18ed7e 100644
    --- a/gnu/packages/mp3.scm
    +++ b/gnu/packages/mp3.scm
    @@ -5,7 +5,7 @@
     ;;; Copyright © 2016 Efraim Flashner 
     ;;; Copyright © 2017 Thomas Danckaert 
     ;;; Copyright © 2017, 2019, 2020 Pierre Langlois 
    -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice 
    +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice 
     ;;; Copyright © 2019 Ricardo Wurmus 
     ;;; Copyright © 2020 Michael Rohleder 
     ;;;
    @@ -372,7 +372,7 @@ This package contains the binary.")
     (define-public mpg123
       (package
         (name "mpg123")
    -    (version "1.26.4")
    +    (version "1.26.5")
         (source
          (origin
            (method url-fetch)
    @@ -382,7 +382,7 @@ This package contains the binary.")
                        "https://www.mpg123.org/download/mpg123-"
                        version ".tar.bz2")))
            (sha256
    -        (base32 "0m34hjssgslcsns8lj1n7f32iyiw547qgba9j2r6d9pp1ma92688"))))
    +        (base32 "01pgcqjbbi2r7nlg5118bkivl0gkv0hq0cw7v4vpxgimv7h9fajh"))))
         (build-system gnu-build-system)
         (arguments '(#:configure-flags '("--with-default-audio=pulse")))
         (native-inputs
    
    From 1585452e1f4756421289e2784bc28395055e7670 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 13:04:54 +0100
    Subject: [PATCH 0932/1003] gnu: wildmidi: Update to 0.4.4.
    
    * gnu/packages/audio.scm (wildmidi): Update to 0.4.4.
    ---
     gnu/packages/audio.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
    index a84d72bb59..73e8a79606 100644
    --- a/gnu/packages/audio.scm
    +++ b/gnu/packages/audio.scm
    @@ -197,7 +197,7 @@ promoting the market for advanced audio.")
     (define-public wildmidi
       (package
         (name "wildmidi")
    -    (version "0.4.3")
    +    (version "0.4.4")
         (source
          (origin
            (method git-fetch)
    @@ -207,7 +207,7 @@ promoting the market for advanced audio.")
              (commit (string-append name "-" version))))
            (file-name (git-file-name name version))
            (sha256
    -        (base32 "01f4a9c5xlap5a4pkfnlgkzk5pjlk43zkq6fnw615ghya04g6hrl"))))
    +        (base32 "08fbbsvw6pkwwqarjwcvdp8mq4zn5sgahf025hynwc6rvf4sp167"))))
         (build-system cmake-build-system)
         (arguments
          `(#:tests? #f ; No target
    
    From f119612d6457f61ad8017a22f300d3cd55f13710 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 13:05:39 +0100
    Subject: [PATCH 0933/1003] gnu: cgal: Update to 5.2.1.
    
    * gnu/packages/graphics.scm (cgal): Update to 5.2.1.
    [source]: Remove patch.
    * gnu/packages/patches/cgal-security-pr-5371.patch: Delete file.
    * gnu/local.mk (dist_patch_DATA): Remove it.
    ---
     gnu/local.mk                                  |    1 -
     gnu/packages/graphics.scm                     |    6 +-
     .../patches/cgal-security-pr-5371.patch       | 1611 -----------------
     3 files changed, 2 insertions(+), 1616 deletions(-)
     delete mode 100644 gnu/packages/patches/cgal-security-pr-5371.patch
    
    diff --git a/gnu/local.mk b/gnu/local.mk
    index 3d4147a879..5c5555069e 100644
    --- a/gnu/local.mk
    +++ b/gnu/local.mk
    @@ -887,7 +887,6 @@ dist_patch_DATA =						\
       %D%/packages/patches/cdparanoia-fpic.patch			\
       %D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch 	\
       %D%/packages/patches/ceph-disable-cpu-optimizations.patch	\
    -  %D%/packages/patches/cgal-security-pr-5371.patch		\
       %D%/packages/patches/chmlib-inttypes.patch			\
       %D%/packages/patches/cl-asdf-config-directories.patch		\
       %D%/packages/patches/clamav-config-llvm-libs.patch		\
    diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
    index db04b93f20..4a301d387a 100644
    --- a/gnu/packages/graphics.scm
    +++ b/gnu/packages/graphics.scm
    @@ -718,7 +718,7 @@ more.")
     (define-public cgal
       (package
         (name "cgal")
    -    (version "5.2")
    +    (version "5.2.1")
         (source (origin
                   (method url-fetch)
                   (uri (string-append
    @@ -726,9 +726,7 @@ more.")
                         "/CGAL-" version ".tar.xz"))
                   (sha256
                    (base32
    -                "08sr2k2dm4zasfbvisqpvs6djqw3rywzwpzr701an870nvnqck3l"))
    -              (patches (search-patches "cgal-security-pr-5371.patch"))
    -              (patch-flags '("-p2"))))
    +                "1rhrpjsp4081nn2q215h78kc4msrj0081zg65k1gfp5hl88bg03y"))))
         (build-system cmake-build-system)
         (arguments
          '(#:tests? #f))                    ; no test target
    diff --git a/gnu/packages/patches/cgal-security-pr-5371.patch b/gnu/packages/patches/cgal-security-pr-5371.patch
    deleted file mode 100644
    index dea53dceaf..0000000000
    --- a/gnu/packages/patches/cgal-security-pr-5371.patch
    +++ /dev/null
    @@ -1,1611 +0,0 @@
    -From 618b409b0fbcef7cb536a4134ae3a424ef5aae45 Mon Sep 17 00:00:00 2001
    -From: Maxime Gimeno 
    -Date: Mon, 18 Jan 2021 15:40:40 +0100
    -Subject: [PATCH 1/8] Fix Nef_2 and Nef_S2 IO
    -
    ----
    - Nef_2/include/CGAL/Nef_2/PM_io_parser.h   |  74 ++++++++++++---
    - Nef_2/include/CGAL/Nef_polyhedron_2.h     |   2 +
    - Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h | 106 ++++++++++++++++------
    - 3 files changed, 142 insertions(+), 40 deletions(-)
    -
    -diff --git a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h
    -index 85295f3d85a..9b84dd37fbe 100644
    ---- a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h
    -+++ b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h
    -@@ -200,6 +200,11 @@ bool PM_io_parser::read_vertex(Vertex_handle v)
    -        !(in >> p) ||
    -        !check_sep("}") ) return false;
    - 
    -+  if(!(f >= 0 && ((iso && f < fn) || (!iso && f < en))))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   if (iso) v->set_face(Face_of[f]);
    -   else     v->set_halfedge(Halfedge_of[f]);
    -   mark(v) = m; point(v) = p;
    -@@ -229,10 +234,14 @@ bool PM_io_parser::read_hedge(Halfedge_handle e)
    -        !(in >> f) || !check_sep(",") ||
    -        !(in >> m) || !check_sep("}") )
    -     return false;
    --  CGAL_assertion_msg
    --     (eo >= 0 || (std::size_t) eo < en || epr >= 0 || (std::size_t) epr < en || ene >= 0 || (std::size_t) ene < en ||
    --      v >= 0 || (std::size_t) v < vn || f >= 0 || (std::size_t) f < fn ,
    --      "wrong index in read_hedge");
    -+
    -+  if(!(eo >= 0 && (std::size_t) eo < en && epr >= 0 && (std::size_t) epr < en && ene >= 0 && (std::size_t) ene < en &&
    -+       v >= 0 && (std::size_t) v < vn && f >= 0 && (std::size_t) f < fn ))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    std::cerr<<"wrong index in read_hedge"<opposite()]);
    -@@ -267,14 +276,32 @@ bool PM_io_parser::read_face(Face_handle f)
    -   int n, ei, vi; Mark m;
    -   if ( !(in >> n) || !check_sep("{") ) return false;
    -   if ( !(in >> ei) || !check_sep(",") ) return false;
    --  if (ei >= 0) f->set_halfedge(Halfedge_of[ei]);
    -+  if (ei >= 0 && ei < en)
    -+  {
    -+    f->set_halfedge(Halfedge_of[ei]);
    -+  }
    -+  else
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   while (in >> ei) {
    -     CGAL_assertion_msg(ei >= 0 && (std::size_t) ei < en, "wrong index in face cycle list.");
    -+    if (!(ei >= 0 && ei < en))
    -+    {
    -+      in.clear(std::ios_base::badbit);
    -+      return false;
    -+    }
    -     f->store_fc(Halfedge_of[ei]);
    -   } in.clear();
    -   if (!check_sep(",")) { return false; }
    -   while (in >> vi) {
    -     CGAL_assertion_msg(vi >= 0 && (std::size_t) vi < vn, "wrong index in iso vertex list.");
    -+    if (!(vi >= 0 && vi < vn))
    -+    {
    -+      in.clear(std::ios_base::badbit);
    -+      return false;
    -+    }
    -     f->store_iv(Vertex_of[vi]);
    -   } in.clear();
    -   if (!check_sep(",") || !(in >> m) || !check_sep("}") )
    -@@ -313,13 +340,26 @@ template 
    - void PM_io_parser::read()
    - {
    -   if ( !check_sep("Plane_map_2") )
    --    CGAL_error_msg("PM_io_parser::read: no embedded_PM header.");
    -+  {
    -+    std::cerr<<"PM_io_parser::read: no embedded_PM header."<> vn)) )
    --    CGAL_error_msg("PM_io_parser::read: wrong node line.");
    -+  {
    -+    std::cerr<<"PM_io_parser::read: wrong node line."<> en) && (en%2==0)) )
    --    CGAL_error_msg("PM_io_parser::read: wrong edge line.");
    -+  {
    -+    std::cerr<<"PM_io_parser::read: wrong edge line."<> fn)) )
    --    CGAL_error_msg("PM_io_parser::read: wrong face line.");
    -+  {
    -+    std::cerr<<"PM_io_parser::read: wrong face line."<::read()
    - 
    -   for(i=0; i>
    -     std::cerr << "Nef_polyhedron_2 input corrupted." << std::endl;
    -     NP = Nef_polyhedron_2();
    -   }
    -+  if(!is)
    -+    return is;
    -   typename Nef_polyhedron_2::Topological_explorer D(NP.explorer());
    -   D.check_integrity_and_topological_planarity();
    -   return is;
    -diff --git a/Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h b/Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h
    -index 7bddd3036d5..631c63dc5dc 100644
    ---- a/Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h
    -+++ b/Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h
    -@@ -203,8 +203,14 @@ bool SM_io_parser::read_vertex(SVertex_handle v)
    -        !(in >> p) ||
    -        !check_sep("}") ) return false;
    - 
    --  if (iso) set_face(v,SFace_of[f]);
    --  else     set_first_out_edge(v,Edge_of[f]);
    -+  if(f<0 || (iso && f > fn) || (!iso && f > en))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -+
    -+  if (iso) this->set_face(v,SFace_of[f]);
    -+  else     this->set_first_out_edge(v,Edge_of[f]);
    -   v->mark() = m; v->point() = p;
    -   return true;
    - }
    -@@ -235,17 +241,21 @@ bool SM_io_parser::read_edge(SHalfedge_handle e)
    -        !(in >> m) || !check_sep(",") ||
    -        !(in >> k) || !check_sep("}") )
    -     return false;
    --  CGAL_assertion_msg
    -+  if (!
    -      (eo >= 0 && eo < en && epr >= 0 && epr < en && ene >= 0 && ene < en &&
    --      v >= 0 && v < vn && f >= 0 && f < fn ,
    --      "wrong index in read_edge");
    -+      v >= 0 && v < vn && f >= 0 && f < fn ))
    -+  {
    -+    std::cerr<<"wrong index in read_edge"<twin()]);
    --  set_prev(e,Edge_of[epr]);
    --  set_next(e,Edge_of[ene]);
    --  set_source(e,SVertex_of[v]);
    --  set_face(e,SFace_of[f]);
    -+  this->set_prev(e,Edge_of[epr]);
    -+  this->set_next(e,Edge_of[ene]);
    -+  this->set_source(e,SVertex_of[v]);
    -+  this->set_face(e,SFace_of[f]);
    -   e->mark() = m;
    -   e->circle() = k;
    -   return true;
    -@@ -274,7 +284,7 @@ bool SM_io_parser::read_loop(SHalfloop_handle l)
    -   CGAL_assertion_msg(
    -     (lo >= 0 && lo < 2 && f >= 0 && f < fn),"wrong index in read_edge");
    - 
    --  set_face(l,SFace_of[f]);
    -+  this->set_face(l,SFace_of[f]);
    -   l->mark() = m;
    -   l->circle() = k;
    -   return true;
    -@@ -303,21 +313,33 @@ bool SM_io_parser::read_face(SFace_handle f)
    -   int n, ei, vi, li; Mark m;
    -   if ( !(in >> n) || !check_sep("{") ) return false;
    -   while (in >> ei) {
    --    CGAL_assertion_msg(ei >= 0 && ei < en,
    --                           "wrong index in face cycle list.");
    --    store_sm_boundary_object(Edge_of[ei],f);
    -+    if(!(ei >= 0 && ei < en))
    -+    {
    -+      std::cerr<<"wrong index in face cycle list."<store_sm_boundary_object(Edge_of[ei],f);
    -   } in.clear();
    -   if (!check_sep(",")) { return false; }
    -   while (in >> vi) {
    --    CGAL_assertion_msg(vi >= 0 && vi < vn,
    --                           "wrong index in iso vertex list.");
    --    store_sm_boundary_object(SVertex_of[vi],f);
    -+    if(!(vi >= 0 && vi < vn))
    -+    {
    -+      std::cerr<<"wrong index in iso vertex list."<store_sm_boundary_object(SVertex_of[vi],f);
    -   } in.clear();
    -   if (!check_sep(",")) { return false; }
    -   while (in >> li) {
    --    CGAL_assertion_msg(li >= 0 && li < 2,
    --                           "wrong index in iso vertex list.");
    --    store_sm_boundary_object(Loop_of[li],f);
    -+    if(!(li >= 0 && li < 2))
    -+    {
    -+      std::cerr<<"wrong index in iso vertex list."<store_sm_boundary_object(Loop_of[li],f);
    -   } in.clear();
    -   if (!check_sep(",") || !(in >> m) || !check_sep("}") )
    -     return false;
    -@@ -357,16 +379,36 @@ void SM_io_parser::print() const
    - template 
    - void SM_io_parser::read()
    - {
    -+  if ( !check_sep("Nef_polyhedron_S2") )
    -+  {
    -+   std::cerr<<"Missing line in header"<> vn)) )
    --    CGAL_error_msg("SM_io_parser::read: wrong vertex line.");
    -+  {
    -+   std::cerr<<"SM_io_parser::read: wrong vertex line."<> en) && (en%2==0)) )
    --    CGAL_error_msg("SM_io_parser::read: wrong edge line.");
    -+  {
    -+   std::cerr<<"SM_io_parser::read: wrong edge line."<> ln)) )
    --    CGAL_error_msg("SM_io_parser::read: wrong loop line.");
    -+  {
    -+   std::cerr<<"SM_io_parser::read: wrong loop line."<> fn)) )
    --    CGAL_error_msg("SM_io_parser::read: wrong face line.");
    -+  {
    -+   std::cerr<<"SM_io_parser::read: wrong face line."<::read()
    - 
    -   for(i=0; i
    -Date: Tue, 19 Jan 2021 12:24:08 +0100
    -Subject: [PATCH 2/8] Fix Nef_3
    -
    ----
    - Nef_3/include/CGAL/Nef_3/SNC_io_parser.h | 195 ++++++++++++++++++++++-
    - 1 file changed, 188 insertions(+), 7 deletions(-)
    -
    -diff --git a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h
    -index 5eee7528ee7..04d9d0ac8e8 100644
    ---- a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h
    -+++ b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h
    -@@ -1444,40 +1444,61 @@ void SNC_io_parser::read_items(int plus01) {
    -   typename std::vector::iterator vi;
    -   for(vi=Vertex_of.begin(); vi!=Vertex_of.end(); ++vi) {
    -     if (!read_vertex(*vi))
    --      CGAL_error_msg("SNC_io_parser::read: error in node line");
    -+    {
    -+      std::cerr<<"SNC_io_parser::read: error in node line"<::iterator ei;
    -   for(ei=Edge_of.begin(); ei!=Edge_of.end(); ++ei) {
    -     if (!read_edge(*ei))
    --      CGAL_error_msg("SNC_io_parser::read: error in edge line");
    -+    {
    -+      std::cerr<<"SNC_io_parser::read: error in edge line"<::iterator vhf_iterator;
    -   vhf_iterator fi;
    -   for(fi=Halffacet_of.begin(); fi!=Halffacet_of.end(); ++fi) {
    -     if (!read_facet(*fi))
    --      CGAL_error_msg("SNC_io_parser::read: error in facet line");
    -+    {
    -+      std::cerr<<"SNC_io_parser::read: error in facet line"<::iterator ci;
    -   for(ci=Volume_of.begin()+plus01; ci!=Volume_of.end(); ++ci) {
    -     if (!read_volume(*ci))
    --      CGAL_error_msg("SNC_io_parser::read: error in volume line");
    -+    {
    -+      std::cerr<<"SNC_io_parser::read: error in volume line"<::iterator sei;
    -   for(sei=SEdge_of.begin(); sei!=SEdge_of.end(); ++sei) {
    -     if (!read_sedge(*sei))
    --      CGAL_error_msg("SNC_io_parser::read: error in sedge line");
    -+    {
    -+      std::cerr<<"SNC_io_parser::read: error in sedge line"<::iterator sli;
    -   for(sli=SLoop_of.begin(); sli!=SLoop_of.end(); ++sli) {
    -     if (!read_sloop(*sli))
    --      CGAL_error_msg("SNC_io_parser::read: error in sloop line");
    -+    {
    -+      std::cerr<<"SNC_io_parser::read: error in sloop line"<::iterator sfi;
    -   for(sfi=SFace_of.begin(); sfi!=SFace_of.end(); ++sfi) {
    -     if (!read_sface(*sfi))
    --      CGAL_error_msg("SNC_io_parser::read: error in sface line");
    -+    {
    -+      std::cerr<<"SNC_io_parser::read: error in sface line"<sncp());
    -@@ -1535,21 +1556,56 @@ read_vertex(Vertex_handle vh) {
    -   vh->sncp() = this->sncp();
    - 
    -   in >> index;
    -+  if(index >= int(en))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   vh->svertices_begin() = (index >= 0 ? Edge_of[index] : this->svertices_end());
    -   in >> index;
    -+  if(index >= int(en))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   vh->svertices_last()  = index >= 0 ? Edge_of[index] : this->svertices_end();
    -   OK = OK && test_string(",");
    -   in >> index;
    -+  if(index >= int(sen))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   vh->shalfedges_begin() = index >= 0 ? SEdge_of[index] : this->shalfedges_end();
    -   in >> index;
    -+  if(index >= int(sen))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   vh->shalfedges_last()  = index >= 0 ? SEdge_of[index] : this->shalfedges_end();
    -   OK = OK && test_string(",");
    -   in >> index;
    -+  if(index >= int(sfn))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   vh->sfaces_begin() = index >= 0 ? SFace_of[index] : this->sfaces_end();
    -   in >> index;
    -+  if(index >= int(sfn))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   vh->sfaces_last()  = index >= 0 ? SFace_of[index] : this->sfaces_end();
    -   OK = OK && test_string(",");
    -   in >> index;
    -+  if(index >= int(sln))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   vh->shalfloop() = index >= 0 ? SLoop_of[index] : this->shalfloops_end();
    -   OK = OK && test_string("|");
    - #ifdef CGAL_NEF_NATURAL_COORDINATE_INPUT
    -@@ -1604,17 +1660,37 @@ read_edge(Halfedge_handle eh) {
    -   OK = OK && test_string("{");
    - 
    -   in >> index;
    -+  if(index < 0 || index >= int(en))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   eh->twin() = Edge_of[index];
    -   OK = OK && test_string(",");
    -   in >> index;
    -+  if(index < 0 || index >= int(vn))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   eh->center_vertex() = Vertex_of[index];
    -   OK = OK && test_string(",");
    -   in >> index;
    -   if(index == 0) {
    -     in >> index;
    -+    if(index < 0 || index >= int(sen))
    -+    {
    -+      in.clear(std::ios_base::badbit);
    -+      return false;
    -+    }
    -     eh->out_sedge() = SEdge_of[index];
    -   } else {
    -     in >> index;
    -+    if(index < 0 || index >= int(sfn))
    -+    {
    -+      in.clear(std::ios_base::badbit);
    -+      return false;
    -+    }
    -     eh->incident_sface() = SFace_of[index];
    -   }
    -   OK = OK && test_string("|");
    -@@ -1669,6 +1745,11 @@ read_facet(Halffacet_handle fh) {
    -   OK = OK && test_string("{");
    - 
    -   in >> index;
    -+  if(index < 0 || index >= int(fn))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   fh->twin() = Halffacet_of[index];
    -   OK = OK && test_string(",");
    - 
    -@@ -1676,6 +1757,11 @@ read_facet(Halffacet_handle fh) {
    -   while(isdigit(cc)) {
    -     in.putback(cc);
    -     in >> index;
    -+    if(index < 0 || index >= int(sen))
    -+    {
    -+      in.clear(std::ios_base::badbit);
    -+      return false;
    -+    }
    -     fh->boundary_entry_objects().push_back(make_object(SEdge_of[index]));
    -     in >> cc;
    -   }
    -@@ -1684,11 +1770,21 @@ read_facet(Halffacet_handle fh) {
    -   while(isdigit(cc)) {
    -     in.putback(cc);
    -     in >> index;
    -+    if(index < 0 || index >= int(sln))
    -+    {
    -+      in.clear(std::ios_base::badbit);
    -+      return false;
    -+    }
    -     fh->boundary_entry_objects().push_back(make_object(SLoop_of[index]));
    -     in >> cc;
    -   }
    - 
    -   in >> index;
    -+  if(index < 0  || index >= int(vn))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   fh->incident_volume() = Volume_of[index+addInfiBox];
    -   OK = OK && test_string("|");
    - #ifdef CGAL_NEF_NATURAL_COORDINATE_INPUT
    -@@ -1731,6 +1827,11 @@ read_volume(Volume_handle ch) {
    -   while(isdigit(cc)) {
    -     in.putback(cc);
    -     in >> index;
    -+    if(index < 0 || index >= int(sfn))
    -+    {
    -+      in.clear(std::ios_base::badbit);
    -+      return false;
    -+    }
    -     ch->shell_entry_objects().push_back(make_object(SFace_of[index]));
    -     in >> cc;
    -   }
    -@@ -1781,27 +1882,67 @@ read_sedge(SHalfedge_handle seh) {
    -   OK = OK && test_string("{");
    - 
    -   in >> index;
    -+  if(index < 0 || index >= int(sen))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   seh->twin() = SEdge_of[index];
    -   OK = OK && test_string(",");
    -   in >> index;
    -+  if(index < 0 || index >= int(sen))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   seh->sprev() = SEdge_of[index];
    -   OK = OK && test_string(",");
    -   in >> index;
    -+  if(index < 0 || index >= int(sen))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   seh->snext() = SEdge_of[index];
    -   OK = OK && test_string(",");
    -   in >> index;
    -+  if(index < 0 || index >= int(en))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   seh->source() = Edge_of[index];
    -   OK = OK && test_string(",");
    -   in >> index;
    -+  if(index < 0 || index >= int(sfn))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   seh->incident_sface() = SFace_of[index];
    -   OK = OK && test_string(",");
    -   in >> index;
    -+  if(index < 0 || index >= int(sen))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   seh->prev() = SEdge_of[index];
    -   OK = OK && test_string(",");
    -   in >> index;
    -+  if(index < 0 || index >= int(sen))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   seh->next() = SEdge_of[index];
    -   OK = OK && test_string(",");
    -   in >> index;
    -+  if(index < 0 || index >= int(fn))
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   seh->facet() = Halffacet_of[index];
    -   OK = OK && test_string("|");
    - #ifdef CGAL_NEF_NATURAL_COORDINATE_INPUT
    -@@ -1852,12 +1993,27 @@ read_sloop(SHalfloop_handle slh) {
    -   OK = OK && test_string("{");
    - 
    -   in >> index;
    -+  if(index < 0 || index >= sln)
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   slh->twin() = SLoop_of[index];
    -   OK = OK && test_string(",");
    -   in >> index;
    -+  if(index < 0 || index >= sfn)
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   slh->incident_sface() = SFace_of[index];
    -   OK = OK && test_string(",");
    -   in >> index;
    -+  if(index < 0 || index >= fn)
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   slh->facet() = Halffacet_of[index];
    -   OK = OK && test_string("|");
    - #ifdef CGAL_NEF_NATURAL_COORDINATE_INPUT
    -@@ -1904,6 +2060,11 @@ read_sface(SFace_handle sfh) {
    -   OK = OK && test_string("{");
    - 
    -   in >> index;
    -+  if(index < 0 || index >= vn)
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   sfh->center_vertex() = Vertex_of[index];
    -   OK = OK && test_string(",");
    - 
    -@@ -1913,6 +2074,11 @@ read_sface(SFace_handle sfh) {
    -     in >> index;
    -     //    sfh->boundary_entry_objects().push_back(SEdge_of[index]);
    -     SM_decorator SD(&*sfh->center_vertex());
    -+    if(index < 0 || index >= sen)
    -+    {
    -+      in.clear(std::ios_base::badbit);
    -+      return false;
    -+    }
    -     SD.link_as_face_cycle(SEdge_of[index],sfh);
    -     in >> cc;
    -   }
    -@@ -1921,6 +2087,11 @@ read_sface(SFace_handle sfh) {
    -   while(isdigit(cc)) {
    -     in.putback(cc);
    -     in >> index;
    -+    if(index < 0 || index >= en)
    -+    {
    -+      in.clear(std::ios_base::badbit);
    -+      return false;
    -+    }
    -     sfh->boundary_entry_objects().push_back(make_object(Edge_of[index]));
    -     this->sncp()->store_sm_boundary_item(Edge_of[index], --(sfh->sface_cycles_end()));
    -     in >> cc;
    -@@ -1930,12 +2101,22 @@ read_sface(SFace_handle sfh) {
    -   while(isdigit(cc)) {
    -     in.putback(cc);
    -     in >> index;
    -+    if(index < 0 || index >= sln)
    -+    {
    -+      in.clear(std::ios_base::badbit);
    -+      return false;
    -+    }
    -     sfh->boundary_entry_objects().push_back(make_object(SLoop_of[index]));
    -     this->sncp()->store_sm_boundary_item(SLoop_of[index], --(sfh->sface_cycles_end()));
    -     in >> cc;
    -   }
    - 
    -   in >> index;
    -+  if(index < 0 || index >= vn)
    -+  {
    -+    in.clear(std::ios_base::badbit);
    -+    return false;
    -+  }
    -   sfh->volume() = Volume_of[index+addInfiBox];
    -   OK = OK && test_string("}");
    -   in >> sfh->mark();
    -
    -From 9e291e6bbfe23137fb2dd3a0f8d6461229ca2376 Mon Sep 17 00:00:00 2001
    -From: Maxime Gimeno 
    -Date: Tue, 19 Jan 2021 14:04:54 +0100
    -Subject: [PATCH 3/8] replace cerr by CGAL_warning_msg
    -
    ----
    - Nef_2/include/CGAL/Nef_2/PM_io_parser.h   | 14 +++---
    - Nef_3/include/CGAL/Nef_3/SNC_io_parser.h  | 53 ++++++++++++++++-------
    - Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h | 18 ++++----
    - 3 files changed, 54 insertions(+), 31 deletions(-)
    -
    -diff --git a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h
    -index 9b84dd37fbe..52bc830e115 100644
    ---- a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h
    -+++ b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h
    -@@ -341,23 +341,23 @@ void PM_io_parser::read()
    - {
    -   if ( !check_sep("Plane_map_2") )
    -   {
    --    std::cerr<<"PM_io_parser::read: no embedded_PM header."<> vn)) )
    -   {
    --    std::cerr<<"PM_io_parser::read: wrong node line."<> en) && (en%2==0)) )
    -   {
    --    std::cerr<<"PM_io_parser::read: wrong edge line."<> fn)) )
    -   {
    --    std::cerr<<"PM_io_parser::read: wrong face line."<::read()
    -   for(i=0; i
    - void SNC_io_parser::read()
    - {
    -   if ( !check_sep("Selective Nef Complex") )
    --    CGAL_error_msg("SNC_io_parser::read: no SNC header.");
    -+  {
    -+    CGAL_warning_msg(false, "SNC_io_parser::read: no SNC header.");
    -+    returnl
    -+  }
    -   std::string kernel_type;
    -   in >> kernel_type;
    -   CGAL_assertion(kernel_type == "standard" || kernel_type == "extended");
    -   if ( !(check_sep("vertices") && (in >> vn)) )
    --    CGAL_error_msg("SNC_io_parser::read: wrong vertex line.");
    -+  {
    -+    CGAL_warning_msg(false, "SNC_io_parser::read: wrong vertex line.");
    -+    return;
    -+  }
    -   if ( !(check_sep("halfedges") && (in >> en) && (en%2==0)) )
    --    CGAL_error_msg("SNC_io_parser::read: wrong edge line.");
    -+  {
    -+    CGAL_warning_msg(false, "SNC_io_parser::read: wrong edge line.");
    -+    return;
    -+  }
    -   if ( !(check_sep("facets") && (in >> fn) && (fn%2==0)) )
    --    CGAL_error_msg("SNC_io_parser::read: wrong facet line.");
    -+  {
    -+    CGAL_warning_msg(false, "SNC_io_parser::read: wrong facet line.");
    -+  }
    -   if ( !(check_sep("volumes") && (in >> cn)) )
    --    CGAL_error_msg("SNC_io_parser::read: wrong volume line.");
    -+  {
    -+    CGAL_warning_msg(false, "SNC_io_parser::read: wrong volume line.");
    -+    return;
    -+  }
    -   if ( !(check_sep("shalfedges") && (in >> sen)) )
    --    CGAL_error_msg("SNC_io_parser::read: wrong sedge line.");
    -+  {
    -+   CGAL_warning_msg(false, "SNC_io_parser::read: wrong sedge line.");
    -+   return;
    -+  }
    -   if ( !(check_sep("shalfloops") && (in >> sln)) )
    --    CGAL_error_msg("SNC_io_parser::read: wrong sloop line.");
    -+  {
    -+    CGAL_warning_msg(false, "SNC_io_parser::read: wrong sloop line.");
    -+    return;
    -+  }
    -   if ( !(check_sep("sfaces") && (in >> sfn)) )
    --    CGAL_error_msg("SNC_io_parser::read: wrong sface line.");
    -+  {
    -+    CGAL_warning_msg(false, "SNC_io_parser::read: wrong sface line.");
    -+    return;
    -+  }
    - 
    -   addInfiBox = (kernel_type == "standard" && Infi_box::extended_kernel());
    - 
    -@@ -1445,7 +1468,7 @@ void SNC_io_parser::read_items(int plus01) {
    -   for(vi=Vertex_of.begin(); vi!=Vertex_of.end(); ++vi) {
    -     if (!read_vertex(*vi))
    -     {
    --      std::cerr<<"SNC_io_parser::read: error in node line"<::read_items(int plus01) {
    -   for(ei=Edge_of.begin(); ei!=Edge_of.end(); ++ei) {
    -     if (!read_edge(*ei))
    -     {
    --      std::cerr<<"SNC_io_parser::read: error in edge line"<::read_items(int plus01) {
    -   for(fi=Halffacet_of.begin(); fi!=Halffacet_of.end(); ++fi) {
    -     if (!read_facet(*fi))
    -     {
    --      std::cerr<<"SNC_io_parser::read: error in facet line"<::read_items(int plus01) {
    -   for(ci=Volume_of.begin()+plus01; ci!=Volume_of.end(); ++ci) {
    -     if (!read_volume(*ci))
    -     {
    --      std::cerr<<"SNC_io_parser::read: error in volume line"<::read_items(int plus01) {
    -   for(sei=SEdge_of.begin(); sei!=SEdge_of.end(); ++sei) {
    -     if (!read_sedge(*sei))
    -     {
    --      std::cerr<<"SNC_io_parser::read: error in sedge line"<::read_items(int plus01) {
    -   for(sli=SLoop_of.begin(); sli!=SLoop_of.end(); ++sli) {
    -     if (!read_sloop(*sli))
    -     {
    --      std::cerr<<"SNC_io_parser::read: error in sloop line"<::read_items(int plus01) {
    -   for(sfi=SFace_of.begin(); sfi!=SFace_of.end(); ++sfi) {
    -     if (!read_sface(*sfi))
    -     {
    --      std::cerr<<"SNC_io_parser::read: error in sface line"<::read()
    - {
    -   if ( !check_sep("Nef_polyhedron_S2") )
    -   {
    --   std::cerr<<"Missing line in header"<> vn)) )
    -   {
    --   std::cerr<<"SM_io_parser::read: wrong vertex line."<> en) && (en%2==0)) )
    -   {
    --   std::cerr<<"SM_io_parser::read: wrong edge line."<> ln)) )
    -   {
    --   std::cerr<<"SM_io_parser::read: wrong loop line."<> fn)) )
    -   {
    --   std::cerr<<"SM_io_parser::read: wrong face line."<::read()
    -   for(i=0; i::read()
    -   for(i=0; i
    -Date: Wed, 20 Jan 2021 08:38:33 +0100
    -Subject: [PATCH 4/8] Fix typo and use setstate
    -
    ----
    - Nef_2/include/CGAL/Nef_2/PM_io_parser.h   | 10 ++--
    - Nef_3/include/CGAL/Nef_3/SNC_io_parser.h  | 66 +++++++++++------------
    - Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h | 10 ++--
    - 3 files changed, 43 insertions(+), 43 deletions(-)
    -
    -diff --git a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h
    -index 52bc830e115..64a3e94916e 100644
    ---- a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h
    -+++ b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h
    -@@ -202,7 +202,7 @@ bool PM_io_parser::read_vertex(Vertex_handle v)
    - 
    -   if(!(f >= 0 && ((iso && f < fn) || (!iso && f < en))))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   if (iso) v->set_face(Face_of[f]);
    -@@ -238,7 +238,7 @@ bool PM_io_parser::read_hedge(Halfedge_handle e)
    -   if(!(eo >= 0 && (std::size_t) eo < en && epr >= 0 && (std::size_t) epr < en && ene >= 0 && (std::size_t) ene < en &&
    -        v >= 0 && (std::size_t) v < vn && f >= 0 && (std::size_t) f < fn ))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     std::cerr<<"wrong index in read_hedge"<::read_face(Face_handle f)
    -   }
    -   else
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   while (in >> ei) {
    -     CGAL_assertion_msg(ei >= 0 && (std::size_t) ei < en, "wrong index in face cycle list.");
    -     if (!(ei >= 0 && ei < en))
    -     {
    --      in.clear(std::ios_base::badbit);
    -+      in.setstate(std::ios_base::badbit);
    -       return false;
    -     }
    -     f->store_fc(Halfedge_of[ei]);
    -@@ -299,7 +299,7 @@ bool PM_io_parser::read_face(Face_handle f)
    -     CGAL_assertion_msg(vi >= 0 && (std::size_t) vi < vn, "wrong index in iso vertex list.");
    -     if (!(vi >= 0 && vi < vn))
    -     {
    --      in.clear(std::ios_base::badbit);
    -+      in.setstate(std::ios_base::badbit);
    -       return false;
    -     }
    -     f->store_iv(Vertex_of[vi]);
    -diff --git a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h
    -index 21c54dd4133..e5530445153 100644
    ---- a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h
    -+++ b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h
    -@@ -1402,7 +1402,7 @@ void SNC_io_parser::read()
    -   if ( !check_sep("Selective Nef Complex") )
    -   {
    -     CGAL_warning_msg(false, "SNC_io_parser::read: no SNC header.");
    --    returnl
    -+    return;
    -   }
    -   std::string kernel_type;
    -   in >> kernel_type;
    -@@ -1581,14 +1581,14 @@ read_vertex(Vertex_handle vh) {
    -   in >> index;
    -   if(index >= int(en))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   vh->svertices_begin() = (index >= 0 ? Edge_of[index] : this->svertices_end());
    -   in >> index;
    -   if(index >= int(en))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   vh->svertices_last()  = index >= 0 ? Edge_of[index] : this->svertices_end();
    -@@ -1596,14 +1596,14 @@ read_vertex(Vertex_handle vh) {
    -   in >> index;
    -   if(index >= int(sen))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   vh->shalfedges_begin() = index >= 0 ? SEdge_of[index] : this->shalfedges_end();
    -   in >> index;
    -   if(index >= int(sen))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   vh->shalfedges_last()  = index >= 0 ? SEdge_of[index] : this->shalfedges_end();
    -@@ -1611,14 +1611,14 @@ read_vertex(Vertex_handle vh) {
    -   in >> index;
    -   if(index >= int(sfn))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   vh->sfaces_begin() = index >= 0 ? SFace_of[index] : this->sfaces_end();
    -   in >> index;
    -   if(index >= int(sfn))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   vh->sfaces_last()  = index >= 0 ? SFace_of[index] : this->sfaces_end();
    -@@ -1626,7 +1626,7 @@ read_vertex(Vertex_handle vh) {
    -   in >> index;
    -   if(index >= int(sln))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   vh->shalfloop() = index >= 0 ? SLoop_of[index] : this->shalfloops_end();
    -@@ -1685,7 +1685,7 @@ read_edge(Halfedge_handle eh) {
    -   in >> index;
    -   if(index < 0 || index >= int(en))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   eh->twin() = Edge_of[index];
    -@@ -1693,7 +1693,7 @@ read_edge(Halfedge_handle eh) {
    -   in >> index;
    -   if(index < 0 || index >= int(vn))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   eh->center_vertex() = Vertex_of[index];
    -@@ -1703,7 +1703,7 @@ read_edge(Halfedge_handle eh) {
    -     in >> index;
    -     if(index < 0 || index >= int(sen))
    -     {
    --      in.clear(std::ios_base::badbit);
    -+      in.setstate(std::ios_base::badbit);
    -       return false;
    -     }
    -     eh->out_sedge() = SEdge_of[index];
    -@@ -1711,7 +1711,7 @@ read_edge(Halfedge_handle eh) {
    -     in >> index;
    -     if(index < 0 || index >= int(sfn))
    -     {
    --      in.clear(std::ios_base::badbit);
    -+      in.setstate(std::ios_base::badbit);
    -       return false;
    -     }
    -     eh->incident_sface() = SFace_of[index];
    -@@ -1770,7 +1770,7 @@ read_facet(Halffacet_handle fh) {
    -   in >> index;
    -   if(index < 0 || index >= int(fn))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   fh->twin() = Halffacet_of[index];
    -@@ -1782,7 +1782,7 @@ read_facet(Halffacet_handle fh) {
    -     in >> index;
    -     if(index < 0 || index >= int(sen))
    -     {
    --      in.clear(std::ios_base::badbit);
    -+      in.setstate(std::ios_base::badbit);
    -       return false;
    -     }
    -     fh->boundary_entry_objects().push_back(make_object(SEdge_of[index]));
    -@@ -1795,7 +1795,7 @@ read_facet(Halffacet_handle fh) {
    -     in >> index;
    -     if(index < 0 || index >= int(sln))
    -     {
    --      in.clear(std::ios_base::badbit);
    -+      in.setstate(std::ios_base::badbit);
    -       return false;
    -     }
    -     fh->boundary_entry_objects().push_back(make_object(SLoop_of[index]));
    -@@ -1805,7 +1805,7 @@ read_facet(Halffacet_handle fh) {
    -   in >> index;
    -   if(index < 0  || index >= int(vn))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   fh->incident_volume() = Volume_of[index+addInfiBox];
    -@@ -1852,7 +1852,7 @@ read_volume(Volume_handle ch) {
    -     in >> index;
    -     if(index < 0 || index >= int(sfn))
    -     {
    --      in.clear(std::ios_base::badbit);
    -+      in.setstate(std::ios_base::badbit);
    -       return false;
    -     }
    -     ch->shell_entry_objects().push_back(make_object(SFace_of[index]));
    -@@ -1907,7 +1907,7 @@ read_sedge(SHalfedge_handle seh) {
    -   in >> index;
    -   if(index < 0 || index >= int(sen))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   seh->twin() = SEdge_of[index];
    -@@ -1915,7 +1915,7 @@ read_sedge(SHalfedge_handle seh) {
    -   in >> index;
    -   if(index < 0 || index >= int(sen))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   seh->sprev() = SEdge_of[index];
    -@@ -1923,7 +1923,7 @@ read_sedge(SHalfedge_handle seh) {
    -   in >> index;
    -   if(index < 0 || index >= int(sen))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   seh->snext() = SEdge_of[index];
    -@@ -1931,7 +1931,7 @@ read_sedge(SHalfedge_handle seh) {
    -   in >> index;
    -   if(index < 0 || index >= int(en))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   seh->source() = Edge_of[index];
    -@@ -1939,7 +1939,7 @@ read_sedge(SHalfedge_handle seh) {
    -   in >> index;
    -   if(index < 0 || index >= int(sfn))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   seh->incident_sface() = SFace_of[index];
    -@@ -1947,7 +1947,7 @@ read_sedge(SHalfedge_handle seh) {
    -   in >> index;
    -   if(index < 0 || index >= int(sen))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   seh->prev() = SEdge_of[index];
    -@@ -1955,7 +1955,7 @@ read_sedge(SHalfedge_handle seh) {
    -   in >> index;
    -   if(index < 0 || index >= int(sen))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   seh->next() = SEdge_of[index];
    -@@ -1963,7 +1963,7 @@ read_sedge(SHalfedge_handle seh) {
    -   in >> index;
    -   if(index < 0 || index >= int(fn))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   seh->facet() = Halffacet_of[index];
    -@@ -2018,7 +2018,7 @@ read_sloop(SHalfloop_handle slh) {
    -   in >> index;
    -   if(index < 0 || index >= sln)
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   slh->twin() = SLoop_of[index];
    -@@ -2026,7 +2026,7 @@ read_sloop(SHalfloop_handle slh) {
    -   in >> index;
    -   if(index < 0 || index >= sfn)
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   slh->incident_sface() = SFace_of[index];
    -@@ -2034,7 +2034,7 @@ read_sloop(SHalfloop_handle slh) {
    -   in >> index;
    -   if(index < 0 || index >= fn)
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   slh->facet() = Halffacet_of[index];
    -@@ -2085,7 +2085,7 @@ read_sface(SFace_handle sfh) {
    -   in >> index;
    -   if(index < 0 || index >= vn)
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   sfh->center_vertex() = Vertex_of[index];
    -@@ -2099,7 +2099,7 @@ read_sface(SFace_handle sfh) {
    -     SM_decorator SD(&*sfh->center_vertex());
    -     if(index < 0 || index >= sen)
    -     {
    --      in.clear(std::ios_base::badbit);
    -+      in.setstate(std::ios_base::badbit);
    -       return false;
    -     }
    -     SD.link_as_face_cycle(SEdge_of[index],sfh);
    -@@ -2112,7 +2112,7 @@ read_sface(SFace_handle sfh) {
    -     in >> index;
    -     if(index < 0 || index >= en)
    -     {
    --      in.clear(std::ios_base::badbit);
    -+      in.setstate(std::ios_base::badbit);
    -       return false;
    -     }
    -     sfh->boundary_entry_objects().push_back(make_object(Edge_of[index]));
    -@@ -2126,7 +2126,7 @@ read_sface(SFace_handle sfh) {
    -     in >> index;
    -     if(index < 0 || index >= sln)
    -     {
    --      in.clear(std::ios_base::badbit);
    -+      in.setstate(std::ios_base::badbit);
    -       return false;
    -     }
    -     sfh->boundary_entry_objects().push_back(make_object(SLoop_of[index]));
    -@@ -2137,7 +2137,7 @@ read_sface(SFace_handle sfh) {
    -   in >> index;
    -   if(index < 0 || index >= vn)
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    -   sfh->volume() = Volume_of[index+addInfiBox];
    -diff --git a/Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h b/Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h
    -index a9377719f93..d58126bac9c 100644
    ---- a/Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h
    -+++ b/Nef_S2/include/CGAL/Nef_S2/SM_io_parser.h
    -@@ -205,7 +205,7 @@ bool SM_io_parser::read_vertex(SVertex_handle v)
    - 
    -   if(f<0 || (iso && f > fn) || (!iso && f > en))
    -   {
    --    in.clear(std::ios_base::badbit);
    -+    in.setstate(std::ios_base::badbit);
    -     return false;
    -   }
    - 
    -@@ -246,7 +246,7 @@ bool SM_io_parser::read_edge(SHalfedge_handle e)
    -       v >= 0 && v < vn && f >= 0 && f < fn ))
    -   {
    -     std::cerr<<"wrong index in read_edge"<::read_face(SFace_handle f)
    -     if(!(ei >= 0 && ei < en))
    -     {
    -       std::cerr<<"wrong index in face cycle list."<store_sm_boundary_object(Edge_of[ei],f);
    -@@ -326,7 +326,7 @@ bool SM_io_parser::read_face(SFace_handle f)
    -     if(!(vi >= 0 && vi < vn))
    -     {
    -       std::cerr<<"wrong index in iso vertex list."<store_sm_boundary_object(SVertex_of[vi],f);
    -@@ -336,7 +336,7 @@ bool SM_io_parser::read_face(SFace_handle f)
    -     if(!(li >= 0 && li < 2))
    -     {
    -       std::cerr<<"wrong index in iso vertex list."<store_sm_boundary_object(Loop_of[li],f);
    -
    -From ffa019712b0ad3b20e3d02edad4d731fda04a2ef Mon Sep 17 00:00:00 2001
    -From: Maxime Gimeno 
    -Date: Mon, 25 Jan 2021 12:59:48 +0100
    -Subject: [PATCH 5/8] First face may be -1, don't fail on it, just don't use it
    -
    ----
    - Nef_2/include/CGAL/Nef_2/PM_io_parser.h | 6 +-----
    - 1 file changed, 1 insertion(+), 5 deletions(-)
    -
    -diff --git a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h
    -index 64a3e94916e..d08b08180d6 100644
    ---- a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h
    -+++ b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h
    -@@ -280,11 +280,7 @@ bool PM_io_parser::read_face(Face_handle f)
    -   {
    -     f->set_halfedge(Halfedge_of[ei]);
    -   }
    --  else
    --  {
    --    in.setstate(std::ios_base::badbit);
    --    return false;
    --  }
    -+
    -   while (in >> ei) {
    -     CGAL_assertion_msg(ei >= 0 && (std::size_t) ei < en, "wrong index in face cycle list.");
    -     if (!(ei >= 0 && ei < en))
    -
    -From d78842712cdfcbb3bdfc5f7cb252d3772fd6a16f Mon Sep 17 00:00:00 2001
    -From: Maxime Gimeno 
    -Date: Tue, 26 Jan 2021 09:55:20 +0100
    -Subject: [PATCH 6/8] Fix conversion warnigns
    -
    ----
    - Nef_2/include/CGAL/Nef_2/PM_io_parser.h  |  8 ++++----
    - Nef_3/include/CGAL/Nef_3/SNC_io_parser.h | 18 +++++++++---------
    - 2 files changed, 13 insertions(+), 13 deletions(-)
    -
    -diff --git a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h
    -index d08b08180d6..39b99b37d7c 100644
    ---- a/Nef_2/include/CGAL/Nef_2/PM_io_parser.h
    -+++ b/Nef_2/include/CGAL/Nef_2/PM_io_parser.h
    -@@ -200,7 +200,7 @@ bool PM_io_parser::read_vertex(Vertex_handle v)
    -        !(in >> p) ||
    -        !check_sep("}") ) return false;
    - 
    --  if(!(f >= 0 && ((iso && f < fn) || (!iso && f < en))))
    -+  if(!(f >= 0 && ((iso && (std::size_t)f < fn) || (!iso && (std::size_t)f < en))))
    -   {
    -     in.setstate(std::ios_base::badbit);
    -     return false;
    -@@ -276,14 +276,14 @@ bool PM_io_parser::read_face(Face_handle f)
    -   int n, ei, vi; Mark m;
    -   if ( !(in >> n) || !check_sep("{") ) return false;
    -   if ( !(in >> ei) || !check_sep(",") ) return false;
    --  if (ei >= 0 && ei < en)
    -+  if (ei >= 0 && (std::size_t) ei < en)
    -   {
    -     f->set_halfedge(Halfedge_of[ei]);
    -   }
    - 
    -   while (in >> ei) {
    -     CGAL_assertion_msg(ei >= 0 && (std::size_t) ei < en, "wrong index in face cycle list.");
    --    if (!(ei >= 0 && ei < en))
    -+    if (!(ei >= 0 && (std::size_t)ei < en))
    -     {
    -       in.setstate(std::ios_base::badbit);
    -       return false;
    -@@ -293,7 +293,7 @@ bool PM_io_parser::read_face(Face_handle f)
    -   if (!check_sep(",")) { return false; }
    -   while (in >> vi) {
    -     CGAL_assertion_msg(vi >= 0 && (std::size_t) vi < vn, "wrong index in iso vertex list.");
    --    if (!(vi >= 0 && vi < vn))
    -+    if (!(vi >= 0 && (std::size_t)vi < vn))
    -     {
    -       in.setstate(std::ios_base::badbit);
    -       return false;
    -diff --git a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h
    -index e5530445153..1dde7f8d0b3 100644
    ---- a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h
    -+++ b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h
    -@@ -1579,7 +1579,7 @@ read_vertex(Vertex_handle vh) {
    -   vh->sncp() = this->sncp();
    - 
    -   in >> index;
    --  if(index >= int(en))
    -+  if(index >= (int)en)
    -   {
    -     in.setstate(std::ios_base::badbit);
    -     return false;
    -@@ -2016,7 +2016,7 @@ read_sloop(SHalfloop_handle slh) {
    -   OK = OK && test_string("{");
    - 
    -   in >> index;
    --  if(index < 0 || index >= sln)
    -+  if(index < 0 || index >= (int)(sln))
    -   {
    -     in.setstate(std::ios_base::badbit);
    -     return false;
    -@@ -2024,7 +2024,7 @@ read_sloop(SHalfloop_handle slh) {
    -   slh->twin() = SLoop_of[index];
    -   OK = OK && test_string(",");
    -   in >> index;
    --  if(index < 0 || index >= sfn)
    -+  if(index < 0 || index >= (int)(sfn))
    -   {
    -     in.setstate(std::ios_base::badbit);
    -     return false;
    -@@ -2032,7 +2032,7 @@ read_sloop(SHalfloop_handle slh) {
    -   slh->incident_sface() = SFace_of[index];
    -   OK = OK && test_string(",");
    -   in >> index;
    --  if(index < 0 || index >= fn)
    -+  if(index < 0 || index >= (int)(fn))
    -   {
    -     in.setstate(std::ios_base::badbit);
    -     return false;
    -@@ -2083,7 +2083,7 @@ read_sface(SFace_handle sfh) {
    -   OK = OK && test_string("{");
    - 
    -   in >> index;
    --  if(index < 0 || index >= vn)
    -+  if(index < 0 || index >= (int)(sln))
    -   {
    -     in.setstate(std::ios_base::badbit);
    -     return false;
    -@@ -2097,7 +2097,7 @@ read_sface(SFace_handle sfh) {
    -     in >> index;
    -     //    sfh->boundary_entry_objects().push_back(SEdge_of[index]);
    -     SM_decorator SD(&*sfh->center_vertex());
    --    if(index < 0 || index >= sen)
    -+    if(index < 0 || index >= (int)(sln))
    -     {
    -       in.setstate(std::ios_base::badbit);
    -       return false;
    -@@ -2110,7 +2110,7 @@ read_sface(SFace_handle sfh) {
    -   while(isdigit(cc)) {
    -     in.putback(cc);
    -     in >> index;
    --    if(index < 0 || index >= en)
    -+    if(index < 0 || index >= (int)(sln))
    -     {
    -       in.setstate(std::ios_base::badbit);
    -       return false;
    -@@ -2124,7 +2124,7 @@ read_sface(SFace_handle sfh) {
    -   while(isdigit(cc)) {
    -     in.putback(cc);
    -     in >> index;
    --    if(index < 0 || index >= sln)
    -+    if(index < 0 || index >= (int)(sln))
    -     {
    -       in.setstate(std::ios_base::badbit);
    -       return false;
    -@@ -2135,7 +2135,7 @@ read_sface(SFace_handle sfh) {
    -   }
    - 
    -   in >> index;
    --  if(index < 0 || index >= vn)
    -+  if(index < 0 || index >= (int)(sln))
    -   {
    -     in.setstate(std::ios_base::badbit);
    -     return false;
    -
    -From 23cc6b0f4a2ac6061b01d86411d58b6da7ff5a34 Mon Sep 17 00:00:00 2001
    -From: Maxime Gimeno 
    -Date: Wed, 27 Jan 2021 10:04:45 +0100
    -Subject: [PATCH 7/8] Fix read_sface
    -
    ----
    - .../Convex_decomposition_3/check_decomposition.cpp     |  2 ++
    - Nef_3/include/CGAL/Nef_3/SNC_io_parser.h               | 10 +++++-----
    - 2 files changed, 7 insertions(+), 5 deletions(-)
    -
    -diff --git a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h
    -index 1dde7f8d0b3..a31a07c5d99 100644
    ---- a/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h
    -+++ b/Nef_3/include/CGAL/Nef_3/SNC_io_parser.h
    -@@ -1803,7 +1803,7 @@ read_facet(Halffacet_handle fh) {
    -   }
    - 
    -   in >> index;
    --  if(index < 0  || index >= int(vn))
    -+  if(index < 0  || index >= int(cn))
    -   {
    -     in.setstate(std::ios_base::badbit);
    -     return false;
    -@@ -2083,7 +2083,7 @@ read_sface(SFace_handle sfh) {
    -   OK = OK && test_string("{");
    - 
    -   in >> index;
    --  if(index < 0 || index >= (int)(sln))
    -+  if(index < 0 || index >= (int)(vn))
    -   {
    -     in.setstate(std::ios_base::badbit);
    -     return false;
    -@@ -2097,7 +2097,7 @@ read_sface(SFace_handle sfh) {
    -     in >> index;
    -     //    sfh->boundary_entry_objects().push_back(SEdge_of[index]);
    -     SM_decorator SD(&*sfh->center_vertex());
    --    if(index < 0 || index >= (int)(sln))
    -+    if(index < 0 || index >= (int)(sen))
    -     {
    -       in.setstate(std::ios_base::badbit);
    -       return false;
    -@@ -2110,7 +2110,7 @@ read_sface(SFace_handle sfh) {
    -   while(isdigit(cc)) {
    -     in.putback(cc);
    -     in >> index;
    --    if(index < 0 || index >= (int)(sln))
    -+    if(index < 0 || index >= (int)(en))
    -     {
    -       in.setstate(std::ios_base::badbit);
    -       return false;
    -@@ -2135,7 +2135,7 @@ read_sface(SFace_handle sfh) {
    -   }
    - 
    -   in >> index;
    --  if(index < 0 || index >= (int)(sln))
    -+  if(index < 0 || index >= (int)(cn))
    -   {
    -     in.setstate(std::ios_base::badbit);
    -     return false;
    -
    
    From dbcd90cba7d491454922ab0a705e44d91ea1cb72 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 13:09:54 +0100
    Subject: [PATCH 0934/1003] gnu: rpm: Update to 4.16.1.3.
    
    * gnu/packages/package-management.scm (rpm): Update to 4.16.1.3.
    ---
     gnu/packages/package-management.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
    index f45c2f65e3..888f54322d 100644
    --- a/gnu/packages/package-management.scm
    +++ b/gnu/packages/package-management.scm
    @@ -705,7 +705,7 @@ features of Stow with some extensions.")
     (define-public rpm
       (package
         (name "rpm")
    -    (version "4.16.1.2")
    +    (version "4.16.1.3")
         (source (origin
                   (method url-fetch)
                   (uri (string-append "http://ftp.rpm.org/releases/rpm-"
    @@ -713,7 +713,7 @@ features of Stow with some extensions.")
                                       version ".tar.bz2"))
                   (sha256
                    (base32
    -                "1k6ank2aad7r503w12m6m494mxr6iccj52wqhwbc94pwxsf34mw3"))))
    +                "07g2g0adgjm29wqy94iqhpp5dk0hacfw1yf7kzycrrxnfbwwfgai"))))
         (build-system gnu-build-system)
         (arguments
          '(#:configure-flags '("--with-external-db"   ;use the system's bdb
    
    From 94963642a8ffaca36fca755d09c61946fb93a461 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 13:10:58 +0100
    Subject: [PATCH 0935/1003] gnu: yggdrasil: Update to 0.3.16.
    
    * gnu/packages/networking.scm (yggdrasil): Update to 0.3.16.
    ---
     gnu/packages/networking.scm | 5 ++---
     1 file changed, 2 insertions(+), 3 deletions(-)
    
    diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
    index 3f6023c966..ea3e3f67e7 100644
    --- a/gnu/packages/networking.scm
    +++ b/gnu/packages/networking.scm
    @@ -3943,7 +3943,7 @@ network.")
     (define-public yggdrasil
       (package
         (name "yggdrasil")
    -    (version "0.3.15")
    +    (version "0.3.16")
         (source
          (origin
            (method git-fetch)
    @@ -3954,8 +3954,7 @@ network.")
              (recursive? #t)))
            (file-name (git-file-name name version))
            (sha256
    -        (base32
    -         "0gk7gy8yq5nrnblv4imxzzm2hac4ri0hlw19ajfbc1zll5kj32gf"))
    +        (base32 "0vyd7a333hwn6j1lv1g9sicw74a4qk982bsi3cfdhjlv6hsjwmil"))
            (patches (search-patches "yggdrasil-extra-config.patch"))))
         (build-system go-build-system)
         (arguments
    
    From 6139c879a5743571ebe1b730a2744ad2e0fdb758 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 13:37:29 +0100
    Subject: [PATCH 0936/1003] gnu: perl-moosex-getopt: Update to 0.75.
    
    * gnu/packages/perl.scm (perl-moosex-getopt): Update to 0.75.
    ---
     gnu/packages/perl.scm | 6 +++---
     1 file changed, 3 insertions(+), 3 deletions(-)
    
    diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
    index 23c3d38f2f..7203481d74 100644
    --- a/gnu/packages/perl.scm
    +++ b/gnu/packages/perl.scm
    @@ -15,7 +15,7 @@
     ;;; Copyright © 2017 Raoul J.P. Bonnal 
     ;;; Copyright © 2017, 2018 Marius Bakke 
     ;;; Copyright © 2017 Adriano Peluso 
    -;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice 
    +;;; Copyright © 2017, 2018–2021 Tobias Geerinckx-Rice 
     ;;; Copyright © 2017 Leo Famulari 
     ;;; Copyright © 2017 Christopher Allan Webber 
     ;;; Copyright © 2018, 2019 Oleg Pykhalov 
    @@ -6806,14 +6806,14 @@ private methods are not.")
     (define-public perl-moosex-getopt
       (package
         (name "perl-moosex-getopt")
    -    (version "0.74")
    +    (version "0.75")
         (source
          (origin
            (method url-fetch)
            (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
                                "MooseX-Getopt-" version ".tar.gz"))
            (sha256
    -        (base32 "091crga5gjyhj2lz55w3ba37xq6pmjg5dx5xccsrzghy8cxxzq0x"))))
    +        (base32 "1j7b2jnf0blxr4czp3vfcnv1h5zj601mrfdm92g1wf5wn9dvxwv3"))))
         (build-system perl-build-system)
         (native-inputs
          `(("perl-module-build" ,perl-module-build)
    
    From 46cac065be7b457ea084633720eeb33c7d44222c Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 14:12:29 +0100
    Subject: [PATCH 0937/1003] gnu: efibootmgr: Update to 17.
    
    * gnu/packages/linux.scm (efibootmgr): Update to 17.
    [source]: Use GIT-FETCH and GIT-FILE-NAME.
    Add a patch to build against efivar@37.
    * gnu/packages/patches/efibootmgr-remove-extra-decl.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Add it.
    ---
     gnu/local.mk                                  |  1 +
     gnu/packages/linux.scm                        | 20 +++++++-------
     .../efibootmgr-remove-extra-decl.patch        | 27 +++++++++++++++++++
     3 files changed, 39 insertions(+), 9 deletions(-)
     create mode 100644 gnu/packages/patches/efibootmgr-remove-extra-decl.patch
    
    diff --git a/gnu/local.mk b/gnu/local.mk
    index 5c5555069e..f8991ff78a 100644
    --- a/gnu/local.mk
    +++ b/gnu/local.mk
    @@ -955,6 +955,7 @@ dist_patch_DATA =						\
       %D%/packages/patches/ecl-16-format-directive-limit.patch	\
       %D%/packages/patches/ecl-16-ignore-stderr-write-error.patch	\
       %D%/packages/patches/ecl-16-libffi.patch			\
    +  %D%/packages/patches/efibootmgr-remove-extra-decl.patch	\
       %D%/packages/patches/eigen-remove-openmp-error-counting.patch	\
       %D%/packages/patches/eigen-stabilise-sparseqr-test.patch	\
       %D%/packages/patches/einstein-build.patch			\
    diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
    index 0eaf014b5c..ac137f448d 100644
    --- a/gnu/packages/linux.scm
    +++ b/gnu/packages/linux.scm
    @@ -6163,15 +6163,17 @@ interface to the variable facility of UEFI boot firmware.")
     (define-public efibootmgr
       (package
         (name "efibootmgr")
    -    (version "16")
    -    (source (origin
    -              (method url-fetch)
    -              (uri (string-append "https://github.com/rhinstaller/efibootmgr"
    -                                  "/releases/download/" version "/efibootmgr"
    -                                  "-" version ".tar.bz2"))
    -              (sha256
    -               (base32
    -                "0pzn67vxxaf7jna4cd0i4kqm60h04kb21hckksv9z82q9gxra1wm"))))
    +    (version "17")
    +    (source
    +     (origin
    +       (method git-fetch)
    +       (uri (git-reference
    +             (url "https://github.com/rhinstaller/efibootmgr")
    +             (commit version)))
    +       (file-name (git-file-name name version))
    +       (sha256
    +        (base32 "1niicijxg59rsmiw3rsjwy4bvi1n42dynvm01lnp9haixdzdpq03"))
    +       (patches (search-patches "efibootmgr-remove-extra-decl.patch"))))
         (build-system gnu-build-system)
         (arguments
          `(#:tests? #f ;no tests
    diff --git a/gnu/packages/patches/efibootmgr-remove-extra-decl.patch b/gnu/packages/patches/efibootmgr-remove-extra-decl.patch
    new file mode 100644
    index 0000000000..eb68108f88
    --- /dev/null
    +++ b/gnu/packages/patches/efibootmgr-remove-extra-decl.patch
    @@ -0,0 +1,27 @@
    +From 99b578501643377e0b1994b2a068b790d189d5ad Mon Sep 17 00:00:00 2001
    +From: Peter Jones 
    +Date: Wed, 13 Jun 2018 09:41:01 -0400
    +Subject: [PATCH] remove extra decl
    +
    +Signed-off-by: Peter Jones 
    +---
    + src/efibootmgr.c | 3 ---
    + 1 file changed, 3 deletions(-)
    +
    +diff --git a/src/efibootmgr.c b/src/efibootmgr.c
    +index de38f01..4e1a680 100644
    +--- a/src/efibootmgr.c
    ++++ b/src/efibootmgr.c
    +@@ -1536,9 +1536,6 @@ parse_opts(int argc, char **argv)
    + 					       "invalid numeric value %s\n",
    + 					       optarg);
    + 			}
    +-                        /* XXX efivar-36 accidentally doesn't have a public
    +-                         * header for this */
    +-			extern int efi_set_verbose(int verbosity, FILE *errlog);
    + 			efi_set_verbose(opts.verbose - 2, stderr);
    + 			break;
    + 		case 'V':
    +-- 
    +2.24.0
    +
    
    From 5802858be335c945a80eb4d3528cc3cd55f2bbbe Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 14:15:50 +0100
    Subject: [PATCH 0938/1003] gnu: fcitx5-qt: Update to 5.0.5.
    
    * gnu/packages/fcitx5.scm (fcitx5-qt): Update to 5.0.5.
    ---
     gnu/packages/fcitx5.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm
    index eea60dc1e0..cae8a74289 100644
    --- a/gnu/packages/fcitx5.scm
    +++ b/gnu/packages/fcitx5.scm
    @@ -250,7 +250,7 @@ for GTK+2/GTK+3 application.")
     (define-public fcitx5-qt
       (package
         (name "fcitx5-qt")
    -    (version "5.0.2")
    +    (version "5.0.5")
         (source
          (origin
            (method url-fetch)
    @@ -258,7 +258,7 @@ for GTK+2/GTK+3 application.")
                                "/fcitx5-qt/fcitx5-qt-"
                                version ".tar.xz"))
            (sha256
    -        (base32 "15rn111mrp6lcgm0ka3vb6a6qwkv6kqkqn563wsm49n16iy1dhqj"))))
    +        (base32 "0vsvrfv0b21pfrz5n0v6p458vfr8k7km50h9bhjp1bnssampjfsb"))))
         (build-system cmake-build-system)
         (arguments
          `(#:configure-flags
    
    From 8ac7fae8b0aebee01cb2592fd24c49fc0828c019 Mon Sep 17 00:00:00 2001
    From: Mathieu Othacehe 
    Date: Tue, 23 Mar 2021 16:33:31 +0100
    Subject: [PATCH 0939/1003] doc: Remove Simple Cuirass section.
    
    This is no longer needed as the Cuirass specification mechanism has been
    rewritten.
    
    * doc/guix.texi (Continuous Integration): Remove Simple Cuirass section.
    ---
     doc/guix.texi | 112 --------------------------------------------------
     1 file changed, 112 deletions(-)
    
    diff --git a/doc/guix.texi b/doc/guix.texi
    index 94ecd2c247..096ffc7425 100644
    --- a/doc/guix.texi
    +++ b/doc/guix.texi
    @@ -27215,118 +27215,6 @@ The Cuirass package to use.
     @end table
     @end deftp
     
    -@cindex simple cuirass
    -@subsubheading Simple Cuirass
    -
    -The Cuirass service configuration described above can be a little
    -intimidating.  In particular, getting the right @code{specifications}
    -can prove difficult.  The @code{simple-cuirass-configuration->specs}
    -procedure offers a way to generate those @code{specifications} and thus
    -setup a continuous integration server more readily.
    -
    -@deffn {Scheme Procedure} simple-cuirass-configuration->specs @var{configuration}
    -This procedure takes a @code{simple-cuirass-configuration} record as
    -argument and returns the corresponding Cuirass specifications gexp.
    -@end deffn
    -
    -@deftp {Data Type} simple-cuirass-configuration
    -Data type representing the configuration of a simple Cuirass instance.
    -
    -@table @asis
    -@item @code{build} (default: @code{all})
    -The packages to be built by Cuirass.  It defaults to @code{all}, which
    -means that all the discovered packages in the subsequent @code{channels}
    -field are to be selected.
    -
    -It is also possible to set this field to a list of @code{build-manifest}
    -records, so that only the packages that are part of the declared
    -manifests are built.  This record is described below.
    -
    -@deftp {Data Type} build-manifest
    -@table @asis
    -@item @code{channel-name}
    -The name of the channel where the manifest is located.
    -
    -@item @code{manifest}
    -The manifest path inside the channel.
    -
    -@end table
    -@end deftp
    -
    -@item @code{channels} (default: @code{%default-channels})
    -The channels to be fetched by Cuirass (@pxref{Channels}).
    -
    -@item @code{non-package-channels} (default: @code{'()})
    -List the channel names that must not be searched for packages.  That is
    -often the case for the channel containing the manifest.
    -
    -@item @code{systems} (default: @code{(list (%current-system))})
    -Build every discovered package for each system in this list.  By default
    -only the current system is selected.
    -
    -@end table
    -@end deftp
    -
    -Here is an example of how to setup a Cuirass instance that builds all
    -the packages declared by Guix and a user repository.  The package list
    -is re-evaluated each time a commit is pushed in one of the declared
    -channels.
    -
    -@lisp
    -(service cuirass-service-type
    -         (cuirass-configuration
    -          (specifications
    -           (simple-cuirass-configuration->specs
    -            (simple-cuirass-configuration
    -             (build 'all)
    -             (channels (cons (channel
    -                              (name 'my-guix)
    -                              (url "https://my-git-repo/guix.git"))
    -                             %default-channels)))))))
    -@end lisp
    -
    -In the same spirit, this builds all the packages that are part of the
    -@code{guix} or @code{my-guix} channels and declared in the manifest
    -located in the @code{conf} channel.
    -
    -@lisp
    -(service cuirass-service-type
    -         (cuirass-configuration
    -          (specifications
    -           (simple-cuirass-configuration->specs
    -            (simple-cuirass-configuration
    -             (build (list
    -                     (build-manifest
    -                      (channel-name 'conf)
    -                      (manifest "guix/manifest.scm"))))
    -             (channels (cons* (channel
    -                               (name 'my-guix)
    -                               (url "https://my-git-repo/guix.git"))
    -                              (channel
    -                               (name 'conf)
    -                               (url "https://my-git-repo/conf.git"))
    -                              %default-channels))
    -             (non-package-channels '(conf)))))))
    -@end lisp
    -
    -Finally, @code{simple-cuirass-services} takes as a second optional
    -argument a @code{cuirass-configuration} record.  It can be used to
    -customize the configuration of the Cuirass instance.
    -
    -@lisp
    -(simple-cuirass-services
    - (simple-cuirass-configuration
    -  (build 'all)
    -  (channels (cons (channel
    -                   (name 'my-guix)
    -                   (url "https://my-git-repo/guix.git"))
    -                  %default-channels))
    -  (non-package-channels '(conf)))
    - (cuirass-configuration
    -  (inherit %default-cuirass-config)
    -  (host "0.0.0.0"))) ;listen on all interfaces.
    -@end lisp
    -
     @node Power Management Services
     @subsection Power Management Services
     
    
    From eee69da3a5c64cbb897e9e923769f12baf916d9e Mon Sep 17 00:00:00 2001
    From: Mathieu Othacehe 
    Date: Tue, 23 Mar 2021 16:41:40 +0100
    Subject: [PATCH 0940/1003] tests: Remove Cuirass tests.
    
    Those tests don't make sense anymore as the Cuirass 1.0 version has removed
    the possibility to execute a custom registration procedure.
    
    * gnu/tests/cuirass.scm: Remove it.
    * gnu/local.mk (GNU_SYSTEM_MODULES): Ditto.
    ---
     gnu/local.mk          |   1 -
     gnu/tests/cuirass.scm | 299 ------------------------------------------
     2 files changed, 300 deletions(-)
     delete mode 100644 gnu/tests/cuirass.scm
    
    diff --git a/gnu/local.mk b/gnu/local.mk
    index f8991ff78a..7891c58dfa 100644
    --- a/gnu/local.mk
    +++ b/gnu/local.mk
    @@ -687,7 +687,6 @@ GNU_SYSTEM_MODULES =				\
       %D%/tests.scm					\
       %D%/tests/audio.scm				\
       %D%/tests/base.scm				\
    -  %D%/tests/cuirass.scm				\
       %D%/tests/cups.scm				\
       %D%/tests/databases.scm			\
       %D%/tests/desktop.scm				\
    diff --git a/gnu/tests/cuirass.scm b/gnu/tests/cuirass.scm
    deleted file mode 100644
    index ea5db34515..0000000000
    --- a/gnu/tests/cuirass.scm
    +++ /dev/null
    @@ -1,299 +0,0 @@
    -;;; GNU Guix --- Functional package management for GNU
    -;;; Copyright © 2020, 2021 Mathieu Othacehe 
    -;;;
    -;;; 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 cuirass)
    -  #:use-module (gnu tests)
    -  #:use-module (gnu system)
    -  #:use-module (gnu system vm)
    -  #:use-module (gnu system install)
    -  #:use-module (gnu packages databases)
    -  #:use-module (gnu packages guile)
    -  #:use-module (gnu packages version-control)
    -  #:use-module (gnu services)
    -  #:use-module (gnu services avahi)
    -  #:use-module (gnu services base)
    -  #:use-module (gnu services cuirass)
    -  #:use-module (gnu services databases)
    -  #:use-module (gnu services networking)
    -  #:use-module (gnu system nss)
    -  #:use-module (guix channels)
    -  #:use-module (guix gexp)
    -  #:use-module (guix store)
    -  #:export (%cuirass-test
    -            %cuirass-remote-test))
    -
    -(define %derivation-file
    -  (scheme-file
    -   "derivation.scm"
    -   '(begin
    -      (use-modules (guix)
    -                   (srfi srfi-1)
    -                   (ice-9 match))
    -
    -      (define (derivation->alist store drv)
    -        `((#:derivation . ,(derivation-file-name drv))
    -          (#:log . ,(log-file store (derivation-file-name drv)))
    -          (#:outputs . ,(filter-map (lambda (res)
    -                                      (match res
    -                                        ((name . path)
    -                                         `(,name . ,path))))
    -                                    (derivation->output-paths drv)))
    -          (#:nix-name . ,(derivation-name drv))
    -          (#:system . ,(derivation-system drv))
    -          (#:max-silent-time . 3600)
    -          (#:timeout . 3600)))
    -
    -      (define (cuirass-jobs store arguments)
    -        (let* ((file (plain-file "test" "this is a test derivation"))
    -               (job-name "test-job")
    -               (drv  (run-with-store store
    -                       (gexp->derivation
    -                        job-name
    -                        #~(begin
    -                            (mkdir #$output)
    -                            (symlink #$file
    -                                     (string-append #$output "/file")))))))
    -          (list (lambda ()
    -                  `((#:job-name . ,job-name)
    -                    ,@(derivation->alist store drv)))))))))
    -
    -(define git-service
    -  ;; Create a Git repository to host Cuirass' specification.
    -  (simple-service
    -   'create-git-directory activation-service-type
    -   #~(begin
    -       (let* ((git (string-append #$git "/bin/git"))
    -              (main "/tmp/cuirass-main")
    -              (file (string-append main "/build-aux/cuirass/gnu-system.scm")))
    -         (mkdir-p (dirname file))
    -         (with-directory-excursion main
    -           (copy-file #$%derivation-file file)
    -           (invoke git "config" "--global" "user.email"
    -                   "charlie@example.org")
    -           (invoke git "config" "--global" "user.name" "A U Thor")
    -           (invoke git "init")
    -           (invoke git "add" ".")
    -           (invoke git "commit" "-m" "That's a commit."))))))
    -
    -(define cow-service
    -  ;; The Guix-daemon & Cuirass will complain if the store is
    -  ;; read-only. Create a store overlay to solve this issue.
    -  (simple-service
    -   'mount-cow-store activation-service-type
    -   #~(begin
    -       (use-modules (guix build syscalls)
    -                    (guix build utils))
    -       (mkdir-p "/rw-store")
    -       (mount "none" "/rw-store" "tmpfs")
    -
    -       (mkdir-p "/rw-store/upper")
    -       (mkdir-p "/rw-store/work")
    -       (mount "none" "/gnu/store" "overlay" 0
    -              "lowerdir=/gnu/store,upperdir=/rw-store/upper,workdir=/rw-store/work"))))
    -
    -(define %cuirass-specs
    -    #~(list
    -       '((#:name . "test")
    -         (#:load-path-inputs . ())
    -         (#:package-path-inputs . ())
    -         (#:proc-input . "main")
    -         (#:proc-file . "build-aux/cuirass/gnu-system.scm")
    -         (#:proc . cuirass-jobs)
    -         (#:proc-args . ())
    -         (#:inputs . (((#:name . "main")
    -                       (#:url . "file:///tmp/cuirass-main/")
    -                       (#:load-path . ".")
    -                       (#:branch . "master")
    -                       (#:no-compile? . #t))))
    -         (#:build-outputs . ())
    -         (#:priority . 1))))
    -
    -(define* (cuirass-services #:key remote-build?)
    -  (list
    -   (service cuirass-service-type
    -            (cuirass-configuration
    -             (specifications %cuirass-specs)
    -             (remote-server (and remote-build?
    -                                 (cuirass-remote-server-configuration)))
    -             (host "0.0.0.0")
    -             (use-substitutes? #t)))))
    -
    -(define (run-cuirass-test name os)
    -  (define os*
    -    (let ((modules '((gnu services herd)
    -                     (guix combinators)
    -                     (guix build syscalls)
    -                     (guix build utils))))
    -      (marionette-operating-system
    -       os
    -       #:imported-modules modules)))
    -
    -  (define cuirass-web-port 8081)
    -  (define forward-port 5000)
    -
    -  (define vm
    -    (virtual-machine
    -     (operating-system os*)
    -     (memory-size 1024)
    -     (port-forwardings `((,forward-port . ,cuirass-web-port)))))
    -
    -  (define test
    -    (with-extensions (list guile-json-4)
    -      (with-imported-modules '((gnu build marionette))
    -        #~(begin
    -            (use-modules (srfi srfi-11) (srfi srfi-64)
    -                         (gnu build marionette)
    -                         (ice-9 match)
    -                         (ice-9 rdelim)
    -                         (json)
    -                         (rnrs bytevectors)
    -                         (web client) (web response))
    -
    -            (define marionette
    -              (make-marionette (list #$vm)))
    -
    -            (define (query path)
    -              (http-get
    -               (format #f "http://localhost:~a~a"
    -                       #$(number->string forward-port)
    -                       path)))
    -
    -            (define* (retry f #:key times delay)
    -              (let loop ((attempt 1))
    -                (let ((result (f)))
    -                  (cond
    -                   (result result)
    -                   (else
    -                    (if (>= attempt times)
    -                        #f
    -                        (begin
    -                          (sleep delay)
    -                          (loop (+ 1 attempt)))))))))
    -
    -            (mkdir #$output)
    -            (chdir #$output)
    -
    -            (test-begin "cuirass")
    -
    -            ;; XXX: Shepherd reads the config file *before* binding its
    -            ;; control socket, so /var/run/shepherd/socket might not exist yet
    -            ;; when the 'marionette' service is started.
    -            (test-assert "shepherd socket ready"
    -              (marionette-eval
    -               `(begin
    -                  (use-modules (gnu services herd))
    -                  (let loop ((i 10))
    -                    (cond ((file-exists? (%shepherd-socket-file))
    -                           #t)
    -                          ((> i 0)
    -                           (sleep 1)
    -                           (loop (- i 1)))
    -                          (else
    -                           'failure))))
    -               marionette))
    -
    -            ;; Wait for cuirass to be up and running.
    -            (test-assert "cuirass running"
    -              (marionette-eval
    -               '(begin
    -                  (use-modules (gnu services herd))
    -                  (start-service 'cuirass)
    -                  #t)
    -               marionette))
    -
    -            (test-assert "cuirass-web running"
    -              (begin
    -                (wait-for-tcp-port #$cuirass-web-port marionette)
    -                (retry
    -                 (lambda ()
    -                   (let-values (((response text)
    -                                 (query "/")))
    -                     (eq? (response-code response) 200)))
    -                 #:times 5
    -                 #:delay 5)))
    -
    -            (test-assert "cuirass-web evaluation"
    -              (begin
    -                (retry
    -                 (lambda ()
    -                   (let-values (((response text)
    -                                 (query "/api/evaluation?id=1")))
    -                     (let ((result
    -                            (false-if-exception
    -                             (json-string->scm
    -                              (utf8->string text)))))
    -                       (eq? (and result
    -                                 (assoc-ref result "id"))
    -                            1))))
    -                 #:times 5
    -                 #:delay 5)))
    -
    -            ;; Even though there's a store overlay, the Guix database is not
    -            ;; initialized, meaning that we won't be able to perform the
    -            ;; build. Check at least that it is queued.
    -            (test-assert "cuirass-web build queued"
    -              (begin
    -                (retry
    -                 (lambda ()
    -                   (let-values (((response text)
    -                                 (query "/api/queue?nr=1")))
    -                     (let ((result
    -                            (json-string->scm
    -                             (utf8->string text))))
    -                       (match (vector->list result)
    -                         ((build)
    -                          (string=? (assoc-ref build "job") "test-job"))
    -                         (else #f)))))
    -                 #:times 5
    -                 #:delay 10)))
    -
    -            (test-end)
    -            (exit (= (test-runner-fail-count (test-runner-current)) 0))))))
    -
    -  (gexp->derivation name test))
    -
    -(define %cuirass-test
    -  (let ((os (operating-system
    -              (inherit %simple-os)
    -              (services
    -               (append (list cow-service
    -                             (service dhcp-client-service-type)
    -                             git-service)
    -                       (cuirass-services)
    -                       (operating-system-user-services %simple-os))))))
    -    (system-test
    -     (name "cuirass")
    -     (description "Connect to a Cuirass server.")
    -     (value
    -      (run-cuirass-test name os)))))
    -
    -(define %cuirass-remote-test
    -  (let ((os (operating-system
    -              (inherit %simple-os)
    -              (name-service-switch %mdns-host-lookup-nss)
    -              (services
    -               (append (list (service avahi-service-type)
    -                             cow-service
    -                             (service dhcp-client-service-type)
    -                             git-service)
    -                       (cuirass-services #:remote-build? #t)
    -                       (operating-system-user-services %simple-os))))))
    -    (system-test
    -     (name "cuirass-remote")
    -     (description "Connect to a Cuirass server with remote build.")
    -     (value (run-cuirass-test name os)))))
    
    From eda735fb6179aa4a80a2ef48bb418cfa2f7552ed Mon Sep 17 00:00:00 2001
    From: Mathieu Othacehe 
    Date: Tue, 23 Mar 2021 16:43:12 +0100
    Subject: [PATCH 0941/1003] services: cuirass: Adapt to Cuirass 1.0.
    
    * gnu/services/cuirass.scm (cuirass-shepherd-service,
    cuirass-remote-worker-shepherd-service): Adapt to Cuirass 1.0.
    ---
     gnu/services/cuirass.scm | 15 +++++++--------
     1 file changed, 7 insertions(+), 8 deletions(-)
    
    diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm
    index 317d877459..d8d6e841a0 100644
    --- a/gnu/services/cuirass.scm
    +++ b/gnu/services/cuirass.scm
    @@ -143,6 +143,7 @@
             (requirement '(guix-daemon postgres postgres-roles networking))
             (start #~(make-forkexec-constructor
                       (list (string-append #$cuirass "/bin/cuirass")
    +                        "register"
                             "--cache-directory" #$cache-directory
                             "--specifications"
                             #$(scheme-file "cuirass-specs.scm" specs)
    @@ -174,19 +175,15 @@
             (requirement '(cuirass))
             (start #~(make-forkexec-constructor
                       (list (string-append #$cuirass "/bin/cuirass")
    -                        "--cache-directory" #$cache-directory
    +                        "web"
                             "--database" #$database
    -                        "--web"
    -                        "--port" #$(number->string port)
                             "--listen" #$host
    -                        "--interval" #$(number->string interval)
    +                        "--port" #$(number->string port)
                             #$@(if parameters
                                    (list (string-append
                                           "--parameters="
                                           parameters))
                                    '())
    -                        #$@(if use-substitutes? '("--use-substitutes") '())
    -                        #$@(if fallback? '("--fallback") '())
                             #$@extra-options)
     
                       #:user #$user
    @@ -203,7 +200,8 @@
                     (provision '(cuirass-remote-server))
                     (requirement '(avahi-daemon cuirass))
                     (start #~(make-forkexec-constructor
    -                          (list (string-append #$cuirass "/bin/remote-server")
    +                          (list (string-append #$cuirass "/bin/cuirass")
    +                                "remote-server"
                                     (string-append "--database=" #$database)
                                     (string-append "--cache=" #$cache)
                                     (string-append "--user=" #$user)
    @@ -347,7 +345,8 @@ CONFIG."
                (provision '(cuirass-remote-worker))
                (requirement '(avahi-daemon guix-daemon networking))
                (start #~(make-forkexec-constructor
    -                     (list (string-append #$cuirass "/bin/remote-worker")
    +                     (list (string-append #$cuirass "/bin/cuirass")
    +                           "remote-worker"
                                (string-append "--workers="
                                               #$(number->string workers))
                                #$@(if server
    
    From 2ee361c764b30e8d4a66f4fc459302ba8d918f0e Mon Sep 17 00:00:00 2001
    From: Nicolas Goaziou 
    Date: Tue, 23 Mar 2021 18:12:17 +0100
    Subject: [PATCH 0942/1003] gnu: giac: Update to 1.7.0-1.
    
    * gnu/packages/algebra.scm (giac): Update to 1.7.0-1.
    ---
     gnu/packages/algebra.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
    index 129d922751..64f7eda485 100644
    --- a/gnu/packages/algebra.scm
    +++ b/gnu/packages/algebra.scm
    @@ -341,7 +341,7 @@ precision.")
     (define-public giac
       (package
         (name "giac")
    -    (version "1.6.0-47")
    +    (version "1.7.0-1")
         (source
          (origin
            (method url-fetch)
    @@ -353,7 +353,7 @@ precision.")
                                "~parisse/debian/dists/stable/main/source/"
                                "giac_" version ".tar.gz"))
            (sha256
    -        (base32 "15sgsr8l6njp5spagbqclqkdy3x7ra23wi6wvpc8vzlbivy3v43k"))))
    +        (base32 "0s926aza2larfz02hrhdlpxn77yjlrhjg844b3fhwz11yj942p9q"))))
         (build-system gnu-build-system)
         (arguments
          `(#:modules ((ice-9 ftw)
    
    From e5406632030a6b2f243e2986c0a7cb325468cfc3 Mon Sep 17 00:00:00 2001
    From: Leo Famulari 
    Date: Tue, 23 Mar 2021 01:44:06 -0400
    Subject: [PATCH 0943/1003] gnu: Borg: Adjust snippet for 1.1.16.
    
    This is a followup to commit 8cb7854d271cb379724b9c41949b4c972f50b6e1.
    
    * gnu/packages/backup.scm (borg)[source]: Update list of Cython-generated files
    to delete.
    ---
     gnu/packages/backup.scm | 2 ++
     1 file changed, 2 insertions(+)
    
    diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
    index 35cd3cf7f3..c8382536b0 100644
    --- a/gnu/packages/backup.scm
    +++ b/gnu/packages/backup.scm
    @@ -588,6 +588,8 @@ detection, and lossless compression.")
                ;; generate the wrong list.
                (for-each delete-file
                          '("src/borg/algorithms/checksums.c"
    +                       "src/borg/algorithms/msgpack/_packer.cpp"
    +                       "src/borg/algorithms/msgpack/_unpacker.cpp"
                            "src/borg/chunker.c"
                            "src/borg/compress.c"
                            "src/borg/crypto/low_level.c"
    
    From 8fae75a3584c19c9b2c705b49c600c23dccc8799 Mon Sep 17 00:00:00 2001
    From: Vinicius Monego 
    Date: Mon, 22 Mar 2021 01:29:40 -0300
    Subject: [PATCH 0944/1003] gnu: Add libheif.
    
    * gnu/packages/image.scm (libheif): New variable.
    
    Signed-off-by: Leo Famulari 
    ---
     gnu/packages/image.scm | 36 ++++++++++++++++++++++++++++++++++++
     1 file changed, 36 insertions(+)
    
    diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
    index 835060c041..d04a247976 100644
    --- a/gnu/packages/image.scm
    +++ b/gnu/packages/image.scm
    @@ -2164,6 +2164,42 @@ by AOM, including with alpha.")
         (license (list license:bsd-2    ; libavif itself
                        license:expat)))) ; cJSON in the test suite
     
    +(define-public libheif
    +  (package
    +    (name "libheif")
    +    (version "1.11.0")
    +    (source
    +     (origin
    +       (method git-fetch)
    +       (uri (git-reference
    +             (url "https://github.com/strukturag/libheif")
    +             (commit (string-append "v" version))))
    +       (file-name (git-file-name name version))
    +       (sha256
    +        (base32 "036n63vlk4sk7y25q2kzyvvw4r5vv323ysbmbrcaprg9hdyjqgf5"))))
    +    (build-system cmake-build-system)
    +    (arguments
    +     `(#:tests? #f)) ;no test target although there is a tests folder
    +    (native-inputs
    +     `(("autoconf" ,autoconf)
    +       ("automake" ,automake)
    +       ("libtool" ,libtool)
    +       ("pkg-config" ,pkg-config)))
    +    (inputs
    +     `(("dav1d" ,dav1d)
    +       ("gdk-pixbuf" ,gdk-pixbuf) ;optional
    +       ("libaom" ,libaom)
    +       ("libde265" ,libde265)
    +       ("libjpeg" ,libjpeg-turbo)
    +       ("libpng" ,libpng)
    +       ("x265" ,x265)))
    +    (home-page "https://github.com/strukturag/libheif")
    +    (synopsis "HEIF and AVIF file format decoder and encoder")
    +    (description
    +     "@code{libheif} is an ISO/IEC 23008-12:2017 HEIF and AVIF (AV1 Image File
    +Format) file format decoder and encoder.")
    +    (license license:lgpl3+)))
    +
     (define-public mtpaint
       (package
         (name "mtpaint")
    
    From feb68a26cc97e36a77f280830f775eb144c965ff Mon Sep 17 00:00:00 2001
    From: Mark H Weaver 
    Date: Mon, 22 Mar 2021 06:48:34 -0400
    Subject: [PATCH 0945/1003] gnu: icecat: Update to 78.9.0-guix0-preview1
     [security fixes].
    
    Includes fixes for CVE-2021-23981, CVE-2021-23982, CVE-2021-23984,
    and CVE-2021-23987.
    
    * gnu/packages/gnuzilla.scm (%icecat-version, %icecat-build-id): Update.
    (icecat-source): Update upstream source hash.
    ---
     gnu/packages/gnuzilla.scm | 6 +++---
     1 file changed, 3 insertions(+), 3 deletions(-)
    
    diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
    index 425ed81f9a..826dbbd511 100644
    --- a/gnu/packages/gnuzilla.scm
    +++ b/gnu/packages/gnuzilla.scm
    @@ -694,8 +694,8 @@ from forcing GEXP-PROMISE."
                           #:system system
                           #:guile-for-build guile)))
     
    -(define %icecat-version "78.8.0-guix0-preview1")
    -(define %icecat-build-id "20210223000000") ;must be of the form YYYYMMDDhhmmss
    +(define %icecat-version "78.9.0-guix0-preview1")
    +(define %icecat-build-id "20210323000000") ;must be of the form YYYYMMDDhhmmss
     
     ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
     ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
    @@ -717,7 +717,7 @@ from forcing GEXP-PROMISE."
                       "firefox-" upstream-firefox-version ".source.tar.xz"))
                 (sha256
                  (base32
    -              "0451hhjrj9hb6limxim7sbhvw4gs6dd2gmnfxjjx07z3wbgdzwhw"))))
    +              "0r28wrsk2k6pc922zfs5wljh8ziqm4a98lisn7409j2szhfsq0wf"))))
     
              (upstream-icecat-base-version "78.7.0") ; maybe older than base-version
              ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
    
    From 90d166e5103baa9d29242712ed045a88c3f36c08 Mon Sep 17 00:00:00 2001
    From: Mathieu Othacehe 
    Date: Tue, 23 Mar 2021 20:30:17 +0100
    Subject: [PATCH 0946/1003] doc: cuirass: Update documentation.
    
    * doc/guix.texi (Continuous Integration): Update Cuirass documentation.
    ---
     doc/guix.texi | 196 ++++++++++++++++++++++++++++++++++++--------------
     1 file changed, 141 insertions(+), 55 deletions(-)
    
    diff --git a/doc/guix.texi b/doc/guix.texi
    index 096ffc7425..29c8a12ee3 100644
    --- a/doc/guix.texi
    +++ b/doc/guix.texi
    @@ -27085,9 +27085,9 @@ The verbosity level of the daemon.
     @subsection Continuous Integration
     
     @cindex continuous integration
    -@uref{https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git, Cuirass} is a
    -continuous integration tool for Guix.  It can be used both for development and
    -for providing substitutes to others (@pxref{Substitutes}).
    +@uref{https://guix.gnu.org/cuirass/, Cuirass} is a continuous
    +integration tool for Guix.  It can be used both for development and for
    +providing substitutes to others (@pxref{Substitutes}).
     
     The @code{(gnu services cuirass)} module provides the following service.
     
    @@ -27096,45 +27096,44 @@ The type of the Cuirass service.  Its value must be a
     @code{cuirass-configuration} object, as described below.
     @end defvr
     
    -To add build jobs, you have to set the @code{specifications} field of the
    -configuration.  Here is an example of a service that polls the Guix repository
    -and builds the packages from a manifest.  Some of the packages are defined in
    -the @code{"custom-packages"} input, which is the equivalent of
    -@env{GUIX_PACKAGE_PATH}.
    +To add build jobs, you have to set the @code{specifications} field of
    +the configuration.  For instance, the following example will build all
    +the packages provided by the @code{my-channel} channel.
     
     @lisp
     (define %cuirass-specs
    -  #~(list
    -     '((#:name . "my-manifest")
    -       (#:load-path-inputs . ("guix"))
    -       (#:package-path-inputs . ("custom-packages"))
    -       (#:proc-input . "guix")
    -       (#:proc-file . "build-aux/cuirass/gnu-system.scm")
    -       (#:proc . cuirass-jobs)
    -       (#:proc-args . ((subset . "manifests")
    -                       (systems . ("x86_64-linux"))
    -                       (manifests . (("config" . "guix/manifest.scm")))))
    -       (#:inputs . (((#:name . "guix")
    -                     (#:url . "git://git.savannah.gnu.org/guix.git")
    -                     (#:load-path . ".")
    -                     (#:branch . "master")
    -                     (#:no-compile? . #t))
    -                    ((#:name . "config")
    -                     (#:url . "https://git.example.org/config.git")
    -                     (#:load-path . ".")
    -                     (#:branch . "master")
    -                     (#:no-compile? . #t))
    -                    ((#:name . "custom-packages")
    -                     (#:url . "https://git.example.org/custom-packages.git")
    -                     (#:load-path . ".")
    -                     (#:branch . "master")
    -                     (#:no-compile? . #t)))))))
    +  #~(list (specification
    +           (name "my-channel")
    +           (build '(channels my-channel))
    +           (channels
    +            (cons (channel
    +                   (name 'my-channel)
    +                   (url "https://my-channel.git"))
    +                  %default-channels)))))
     
     (service cuirass-service-type
              (cuirass-configuration
               (specifications %cuirass-specs)))
     @end lisp
     
    +To build the @code{linux-libre} package defined by the default Guix
    +channel, one can use the following configuration.
    +
    +@lisp
    +(define %cuirass-specs
    +  #~(list (specification
    +           (name "my-linux")
    +           (build '(packages "linux-libre")))))
    +
    +(service cuirass-service-type
    +         (cuirass-configuration
    +          (specifications %cuirass-specs)))
    +@end lisp
    +
    +The other configuration possibilities, as well as the specification
    +record itself are described in the Cuirass manual
    +(@pxref{Specifications,,, cuirass, Cuirass}).
    +
     While information related to build jobs is located directly in the
     specifications, global settings for the @command{cuirass} process are
     accessible in other @code{cuirass-configuration} fields.
    @@ -27143,20 +27142,15 @@ accessible in other @code{cuirass-configuration} fields.
     Data type representing the configuration of Cuirass.
     
     @table @asis
    +@item @code{cuirass} (default: @code{cuirass})
    +The Cuirass package to use.
    +
     @item @code{log-file} (default: @code{"/var/log/cuirass.log"})
     Location of the log file.
     
     @item @code{web-log-file} (default: @code{"/var/log/cuirass-web.log"})
     Location of the log file used by the web interface.
     
    -@item @code{queries-log-file} (default: @code{#f})
    -Location of the SQL queries log file.  By default, SQL queries logging is
    -disabled.
    -
    -@item @code{web-queries-log-file} (default: @code{#f})
    -Location of the web SQL queries log file.  By default, web SQL queries
    -logging is disabled.
    -
     @item @code{cache-directory} (default: @code{"/var/cache/cuirass"})
     Location of the repository cache.
     
    @@ -27170,17 +27164,19 @@ Owner's group of the @code{cuirass} process.
     Number of seconds between the poll of the repositories followed by the
     Cuirass jobs.
     
    -@item @code{queue-size} (default: @code{1})
    -Size of the database writer queue.
    +@item @code{parameters} (default: @code{#f})
    +Read parameters from the given @var{parameters} file.  The supported
    +parameters are described here (@pxref{Parameters,,, cuirass, Cuirass}).
     
    -@item @code{database} (default: @code{"/var/lib/cuirass/cuirass.db"})
    -Location of sqlite database which contains the build results and previously
    -added specifications.
    +@item @code{remote-server} (default: @code{#f})
    +A @code{cuirass-remote-server-configuration} record to use the build
    +remote mechanism or @code{#f} to use the default build mechanism.
     
    -@item @code{ttl} (default: @code{(* 30 24 3600)})
    -Specifies the time-to-live (TTL) in seconds of garbage collector roots that
    -are registered for build results.  This means that build results are protected
    -from garbage collection for at least @var{ttl} seconds.
    +@item @code{database} (default: @code{"dbname=cuirass host=/var/run/postgresql"})
    +Use @var{database} as the database containing the jobs and the past
    +build results. Since Cuirass uses PostgreSQL as a database engine,
    +@var{database} must be a string such as @code{"dbname=cuirass
    +host=localhost"}.
     
     @item @code{port} (default: @code{8081})
     Port number used by the HTTP server.
    @@ -27190,11 +27186,9 @@ Listen on the network interface for @var{host}.  The default is to
     accept connections from localhost.
     
     @item @code{specifications} (default: @code{#~'()})
    -A gexp (@pxref{G-Expressions}) that evaluates to a list of specifications,
    -where a specification is an association list
    -(@pxref{Associations Lists,,, guile, GNU Guile Reference Manual}) whose
    -keys are keywords (@code{#:keyword-example}) as shown in the example
    -above.
    +A gexp (@pxref{G-Expressions}) that evaluates to a list of
    +specifications records.  The specification record is described in the
    +Cuirass manual (@pxref{Specifications,,, cuirass, Cuirass}).
     
     @item @code{use-substitutes?} (default: @code{#f})
     This allows using substitutes to avoid building every dependencies of a job
    @@ -27210,8 +27204,100 @@ packages locally.
     @item @code{extra-options} (default: @code{'()})
     Extra options to pass when running the Cuirass processes.
     
    +@end table
    +@end deftp
    +
    +@cindex remote build
    +@subsubheading Cuirass remote building
    +
    +Cuirass supports two mechanisms to build derivations.
    +
    +@itemize
    +@item Using the local Guix daemon.
    +This is the default build mechanism.  Once the build jobs are
    +evaluated, they are sent to the local Guix daemon.  Cuirass then
    +listens to the Guix daemon output to detect the various build events.
    +
    +@item Using the remote build mechanism.
    +The build jobs are not submitted to the local Guix daemon.  Instead, a
    +remote server dispatches build requests to the connect remote workers,
    +according to the build priorities.
    +
    +@end itemize
    +
    +To enable this build mode a @code{cuirass-remote-server-configuration}
    +record must be passed as @code{remote-server} argument of the
    +@code{cuirass-configuration} record.  The
    +@code{cuirass-remote-server-configuration} record is described below.
    +
    +This build mode scales way better than the default build mode.  This is
    +the build mode that is used on the GNU Guix build farm at
    +@url{https://ci.guix.gnu.org}.  It should be preferred when using
    +Cuirass to build large amount of packages.
    +
    +@deftp {Data Type} cuirass-remote-server-configuration
    +Data type representing the configuration of the Cuirass remote-server.
    +
    +@table @asis
    +@item @code{backend-port} (default: @code{5555})
    +The TCP port for communicating with @code{remote-worker} processes
    +using ZMQ.  It defaults to @code{5555}.
    +
    +@item @code{log-port} (default: @code{5556})
    +The TCP port of the log server.  It defaults to @code{5556}.
    +
    +@item @code{publish-port} (default: @code{5557})
    +The TCP port of the publish server.  It defaults to @code{5557}.
    +
    +@item @code{log-file} (default: @code{"/var/log/cuirass-remote-server.log"})
    +Location of the log file.
    +
    +@item @code{cache} (default: @code{"/var/cache/cuirass/remote"})
    +Use @var{cache} directory to cache build log files.
    +
    +@item @code{trigger-url} (default: @code{#f})
    +Once a substitute is successfully fetched, trigger substitute baking at
    +@var{trigger-url}.
    +
    +@item @code{public-key}
    +@item @code{private-key}
    +Use the specific @var{file}s as the public/private key pair used to sign
    +the store items being published.
    +
    +@end table
    +@end deftp
    +
    +At least one remote worker must also be started on any machine of the
    +local network to actually perform the builds and report their status.
    +
    +@deftp {Data Type} cuirass-remote-worker-configuration
    +Data type representing the configuration of the Cuirass remote-worker.
    +
    +@table @asis
     @item @code{cuirass} (default: @code{cuirass})
     The Cuirass package to use.
    +
    +@item @code{workers} (default: @code{1})
    +Start @var{workers} parallel workers.
    +
    +@item @code{server} (default: @code{#f})
    +Do not use Avahi discovery and connect to the given @code{server} IP
    +address instead.
    +
    +@item @code{systems} (default: @code{(list (%current-system))})
    +Only request builds for the given @var{systems}.
    +
    +@item @code{log-file} (default: @code{"/var/log/cuirass-remote-worker.log"})
    +Location of the log file.
    +
    +@item @code{publish-port} (default: @code{5558})
    +The TCP port of the publish server.  It defaults to @code{5558}.
    +
    +@item @code{public-key}
    +@item @code{private-key}
    +Use the specific @var{file}s as the public/private key pair used to sign
    +the store items being published.
    +
     @end table
     @end deftp
     
    
    From 3c9a353849c6efa6d738ef57d82eccdb063b0c6d Mon Sep 17 00:00:00 2001
    From: Mathieu Othacehe 
    Date: Tue, 23 Mar 2021 20:30:24 +0100
    Subject: [PATCH 0947/1003] services: cuirass: Set default port values.
    
    * gnu/services/cuirass.scm (,
    ): Set default port values.
    ---
     gnu/services/cuirass.scm | 8 +++++---
     1 file changed, 5 insertions(+), 3 deletions(-)
    
    diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm
    index d8d6e841a0..9de36eb1c9 100644
    --- a/gnu/services/cuirass.scm
    +++ b/gnu/services/cuirass.scm
    @@ -66,9 +66,11 @@
       cuirass-remote-server-configuration make-cuirass-remote-server-configuration
       cuirass-remote-server-configuration?
       (backend-port     cuirass-remote-server-configuration-backend-port ;int
    -                    (default #f))
    +                    (default 5555))
    +  (log-port         cuirass-remote-server-configuration-log-port ;int
    +                    (default 5556))
       (publish-port     cuirass-remote-server-configuration-publish-port ;int
    -                    (default #f))
    +                    (default 5557))
       (log-file         cuirass-remote-server-log-file ;string
                         (default "/var/log/cuirass-remote-server.log"))
       (cache            cuirass-remote-server-configuration-cache ;string
    @@ -328,7 +330,7 @@
       (log-file         cuirass-remote-worker-log-file ;string
                         (default "/var/log/cuirass-remote-worker.log"))
       (publish-port     cuirass-remote-worker-configuration-publish-port ;int
    -                    (default #f))
    +                    (default 5558))
       (public-key       cuirass-remote-worker-configuration-public-key ;string
                         (default #f))
       (private-key      cuirass-remote-worker-configuration-private-key ;string
    
    From 1ef63d74d971b6e1cb3a83d2798821dd47f297ff Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 18:24:21 +0100
    Subject: [PATCH 0948/1003] gnu: rust-beef: Update to 0.5.0.
    
    * gnu/packages/crates-io.scm (rust-beef-0.4): Rename to...
    (rust-beef-0.5): ...this.  Update to 0.5.0.
    ---
     gnu/packages/crates-io.scm | 6 +++---
     1 file changed, 3 insertions(+), 3 deletions(-)
    
    diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
    index 123a95a9f6..4dabc77c59 100644
    --- a/gnu/packages/crates-io.scm
    +++ b/gnu/packages/crates-io.scm
    @@ -3873,17 +3873,17 @@ c6e7d37.  However, this package works only up to 128 bytes.")
         (description "This library provides for encoding and decoding any base.")
         (license license:expat)))
     
    -(define-public rust-beef-0.4
    +(define-public rust-beef-0.5
       (package
         (name "rust-beef")
    -    (version "0.4.4")
    +    (version "0.5.0")
         (source
          (origin
            (method url-fetch)
            (uri (crate-uri "beef" version))
            (file-name (string-append name "-" version ".tar.gz"))
            (sha256
    -        (base32 "0hva1rmbx2a54q4ncs8i5lbr26669wyvnya1sh3x22r0cxm64jj7"))))
    +        (base32 "02blba0j192l0374kqwn8rjsc8aifj43xi26v142ijpjim1f4dk7"))))
         (build-system cargo-build-system)
         (arguments
          `(#:skip-build? #t
    
    From 7dbb5ca3613ca9f4ddd858fcbe4efef7ac34b3ea Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 18:25:09 +0100
    Subject: [PATCH 0949/1003] gnu: rust-time@0.2: Update to 0.2.23.
    
    * gnu/packages/crates-io.scm (rust-time-0.2): Update to 0.2.23.
    ---
     gnu/packages/crates-io.scm | 5 ++---
     1 file changed, 2 insertions(+), 3 deletions(-)
    
    diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
    index 4dabc77c59..a983e54830 100644
    --- a/gnu/packages/crates-io.scm
    +++ b/gnu/packages/crates-io.scm
    @@ -42306,15 +42306,14 @@ fixed set of worker threads.")
     (define-public rust-time-0.2
       (package
         (name "rust-time")
    -    (version "0.2.19")
    +    (version "0.2.23")
         (source
          (origin
            (method url-fetch)
            (uri (crate-uri "time" version))
            (file-name (string-append name "-" version ".tar.gz"))
            (sha256
    -        (base32
    -         "18bhl0nmfyd8drksskw830ybw9pr47pisfn4245wabqijgys3hc0"))))
    +        (base32 "12z95k0005rmyn9pf9v4hq80khsns7y5wfydnjr5jpci2yiyxnmw"))))
         (build-system cargo-build-system)
         (arguments
          `(#:cargo-inputs
    
    From 56b0568450bc37483f241368ab307158bae70762 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 18:47:44 +0100
    Subject: [PATCH 0950/1003] gnu: rust-tuikit@0.4: Update to 0.4.5.
    
    * gnu/packages/crates-io.scm (rust-tuikit-0.4): Update to 0.4.5.
    ---
     gnu/packages/crates-io.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
    index a983e54830..23a9955548 100644
    --- a/gnu/packages/crates-io.scm
    +++ b/gnu/packages/crates-io.scm
    @@ -45829,14 +45829,14 @@ or dashboards.")
     (define-public rust-tuikit-0.4
       (package
         (name "rust-tuikit")
    -    (version "0.4.3")
    +    (version "0.4.5")
         (source
          (origin
            (method url-fetch)
            (uri (crate-uri "tuikit" version))
            (file-name (string-append name "-" version ".tar.gz"))
            (sha256
    -        (base32 "1hf6pgclb2lj08jzb45q0mpjq2a9zw27h7kwyi5cibjz5skd054b"))))
    +        (base32 "07x5218f9da6cbvmwpfyfymqyl7nksvkxxycxcrll9ajazy8qqlc"))))
         (build-system cargo-build-system)
         (arguments
          `(#:skip-build? #t
    
    From 7932034d071793f3ef79f36f0d7cf23a8d2600f9 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 18:48:37 +0100
    Subject: [PATCH 0951/1003] gnu: rust-vte@0.9: New package version.
    
    * gnu/packages/crates-io.scm (rust-vte-0.9): New public variable.
    ---
     gnu/packages/crates-io.scm | 14 ++++++++++++++
     1 file changed, 14 insertions(+)
    
    diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
    index 23a9955548..30b3c55cc9 100644
    --- a/gnu/packages/crates-io.scm
    +++ b/gnu/packages/crates-io.scm
    @@ -47573,6 +47573,20 @@ updated when the crate version changes.")
          "This package provides a parser for implementing terminal emulators.")
         (license (list license:asl2.0 license:expat))))
     
    +(define-public rust-vte-0.9
    +  (package
    +    (inherit rust-vte-0.10)
    +    (name "rust-vte")
    +    (version "0.9.0")
    +    (source
    +     (origin
    +       (method url-fetch)
    +       (uri (crate-uri "vte" version))
    +       (file-name
    +        (string-append name "-" version ".tar.gz"))
    +       (sha256
    +        (base32 "0yjl1jzlrk617kwk445mg9zmc71nxvwghhgsxfqhmm9401hlaxvf"))))))
    +
     (define-public rust-vte-0.3
       (package
         (inherit rust-vte-0.10)
    
    From ea27cbe113de626204634c85d099c6479cbd81f0 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 18:50:01 +0100
    Subject: [PATCH 0952/1003] gnu: skim: Update to 0.9.4.
    
    * gnu/packages/crates-io.scm (skim): Update to 0.9.4.
    [arguments]: Update #:cargo-inputs: add rust-atty-0.2 and update
    rust-beef-0.4 to rust-beef-0.5, rust-crossbeam-0.7 to
    rust-crossbeam-0.8, rust-env-logger-0.6 to rust-env-logger-0.8,
    rust-nix-0.14 to rust-nix-0.19, rust-time-0.1 to rust-time-0.2, and
    rust-vte-0.3 to rust-vte-0.9.
    ---
     gnu/packages/crates-io.scm | 17 +++++++++--------
     1 file changed, 9 insertions(+), 8 deletions(-)
    
    diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
    index 30b3c55cc9..f3d6c92e11 100644
    --- a/gnu/packages/crates-io.scm
    +++ b/gnu/packages/crates-io.scm
    @@ -49986,7 +49986,7 @@ configuration file and/or environment variables.")
     (define-public skim
       (package
         (name "skim")
    -    (version "0.9.3")
    +    (version "0.9.4")
         (source
           (origin
             (method url-fetch)
    @@ -49995,30 +49995,31 @@ configuration file and/or environment variables.")
               (string-append name "-" version ".tar.gz"))
             (sha256
               (base32
    -            "0qir6m4cpd63bnp0lqq4si1ccgd6rbv4m1662v771fkyynrdrj0s"))))
    +            "1d5v9vq8frkdjm7bnw3455h6xf3c277d51il2qasn7r20kwik7ab"))))
         (build-system cargo-build-system)
         (arguments
           `(#:cargo-inputs
    -        (("rust-beef" ,rust-beef-0.4)
    +        (("rust-atty-0.2" ,rust-atty-0.2)
    +         ("rust-beef" ,rust-beef-0.5)
              ("rust-bitflags" ,rust-bitflags-1)
              ("rust-chrono" ,rust-chrono-0.4)
              ("rust-clap" ,rust-clap-2)
    -         ("rust-crossbeam" ,rust-crossbeam-0.7)
    +         ("rust-crossbeam" ,rust-crossbeam-0.8)
              ("rust-defer-drop" ,rust-defer-drop-1)
              ("rust-derive-builder" ,rust-derive-builder-0.9)
    -         ("rust-env-logger" ,rust-env-logger-0.6)
    +         ("rust-env-logger" ,rust-env-logger-0.8)
              ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
              ("rust-lazy-static" ,rust-lazy-static-1)
              ("rust-log" ,rust-log-0.4)
    -         ("rust-nix" ,rust-nix-0.14)
    +         ("rust-nix" ,rust-nix-0.19)
              ("rust-rayon" ,rust-rayon-1)
              ("rust-regex" ,rust-regex-1)
              ("rust-shlex" ,rust-shlex-0.1)
    -         ("rust-time" ,rust-time-0.1)
    +         ("rust-time" ,rust-time-0.2)
              ("rust-timer" ,rust-timer-0.2)
              ("rust-tuikit" ,rust-tuikit-0.4)
              ("rust-unicode-width" ,rust-unicode-width-0.1)
    -         ("rust-vte" ,rust-vte-0.3))
    +         ("rust-vte" ,rust-vte-0.9))
             #:phases
             (modify-phases %standard-phases
               (add-after 'install 'install-extras
    
    From 042b2eb1ae508f31f6f1b9ccf46deaff95eeb723 Mon Sep 17 00:00:00 2001
    From: Tobias Geerinckx-Rice 
    Date: Tue, 23 Mar 2021 18:52:50 +0100
    Subject: [PATCH 0953/1003] gnu: parallel: Update to 20210322.
    
    * gnu/packages/parallel.scm (parallel): Update to 20210322.
    ---
     gnu/packages/parallel.scm | 6 +++---
     1 file changed, 3 insertions(+), 3 deletions(-)
    
    diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
    index 8816844368..05964cd038 100644
    --- a/gnu/packages/parallel.scm
    +++ b/gnu/packages/parallel.scm
    @@ -7,7 +7,7 @@
     ;;; Copyright © 2016, 2020, 2021 Ricardo Wurmus 
     ;;; Copyright © 2016 Ben Woodcroft 
     ;;; Copyright © 2017, 2018 Rutger Helling 
    -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice 
    +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice 
     ;;; Copyright © 2018 Clément Lassieur 
     ;;; Copyright © 2019, 2020 Ludovic Courtès 
     ;;; Copyright © 2020 Roel Janssen 
    @@ -57,14 +57,14 @@
     (define-public parallel
       (package
         (name "parallel")
    -    (version "20210222")
    +    (version "20210322")
         (source
          (origin
           (method url-fetch)
           (uri (string-append "mirror://gnu/parallel/parallel-"
                               version ".tar.bz2"))
           (sha256
    -       (base32 "0az73cpl04k3j9hwyxgych5cr95ls8qrsmy6zni4xxv2xc5b0saf"))))
    +       (base32 "152np0jg4n94sbl2p2fzxjfnssiyp5sg7r5wx6s8p893b921pxwq"))))
         (build-system gnu-build-system)
         (arguments
          `(#:phases
    
    From aa13529baf498362b5d0c2310d1349692f71a260 Mon Sep 17 00:00:00 2001
    From: Christopher Baines 
    Date: Wed, 17 Mar 2021 19:57:29 +0000
    Subject: [PATCH 0954/1003] gnu: Add snapcast.
    
    * gnu/packages/audio.scm (snapcast): New variable.
    ---
     gnu/packages/audio.scm | 34 ++++++++++++++++++++++++++++++++++
     1 file changed, 34 insertions(+)
    
    diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
    index 73e8a79606..f1346208a2 100644
    --- a/gnu/packages/audio.scm
    +++ b/gnu/packages/audio.scm
    @@ -1052,6 +1052,40 @@ performances.  The plugins include a cellular automaton synthesizer, an
     envelope follower, distortion effects, tape effects and more.")
         (license license:gpl2+)))
     
    +(define-public snapcast
    +  (package
    +    (name "snapcast")
    +    (version "0.24.0")
    +    (source (origin
    +              (method git-fetch)
    +              (uri (git-reference
    +                    (url "https://github.com/badaix/snapcast")
    +                    (commit (string-append "v" version))))
    +              (file-name (git-file-name name version))
    +              (sha256
    +               (base32
    +                "13yz8alplnqwkcns3mcli01qbyy6l3h62xx0v71ygcrz371l4g9g"))))
    +    (build-system cmake-build-system)
    +    (arguments
    +     '(#:tests? #f))                    ; no included tests
    +    (inputs
    +     `(("boost" ,boost)
    +       ("libvorbis" ,libvorbis)
    +       ("soxr" ,soxr)
    +       ("alsa-lib" ,alsa-lib)
    +       ("avahi" ,avahi)
    +       ("pulseaudio" ,pulseaudio)
    +       ("flac" ,flac)
    +       ("opus" ,opus)))
    +    (native-inputs
    +     `(("pkg-config" ,pkg-config)))
    +    (home-page "https://github.com/badaix/snapcast")
    +    (synopsis "Synchronous multiroom audio player")
    +    (description
    +     "Snapcast is a multi-room client-server audio player.  Clients are time
    +synchronized with the server to play synced audio.")
    +    (license license:gpl3+)))
    +
     (define-public swh-plugins
       (package
         (name "swh-plugins")
    
    From d3c8aa3f8214434c8ba819984ed4513796a09e38 Mon Sep 17 00:00:00 2001
    From: ZmnSCPxj 
    Date: Wed, 17 Mar 2021 11:48:52 +0000
    Subject: [PATCH 0955/1003] gnu: bitcoin-core: Add 0.21.0.
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    
    * gnu/packages/finance.scm (bitcoin-core): Rename to …
    (bitcoin-core-0.21): … this, and update to 0.21.
    (bitcoin-core-0.20): New variable.
    
    Signed-off-by: Christopher Baines 
    ---
     gnu/packages/finance.scm | 26 +++++++++++++++++++++++---
     1 file changed, 23 insertions(+), 3 deletions(-)
    
    diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
    index 6674452ab5..3ccc077b94 100644
    --- a/gnu/packages/finance.scm
    +++ b/gnu/packages/finance.scm
    @@ -22,6 +22,7 @@
     ;;; Copyright © 2020 Vinicius Monego 
     ;;; Copyright © 2020 Carlo Holl 
     ;;; Copyright © 2020 Giacomo Leidi 
    +;;; Copyright © 2021 ZmnSCPxj jxPCSnmZ 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -52,6 +53,7 @@
       #:use-module (guix build-system glib-or-gtk)
       #:use-module (guix build-system go)
       #:use-module (guix build-system qt)
    +  #:use-module (guix deprecation)
       #:use-module (guix utils)
       #:use-module (gnu packages)
       #:use-module (gnu packages aidc)
    @@ -108,10 +110,10 @@
       #:use-module (gnu packages xml)
       #:use-module (gnu packages gnuzilla))
     
    -(define-public bitcoin-core
    +(define-public bitcoin-core-0.21
       (package
         (name "bitcoin-core")
    -    (version "0.20.1")
    +    (version "0.21.0")
         (source (origin
                   (method url-fetch)
                   (uri
    @@ -119,7 +121,7 @@
                                   version "/bitcoin-" version ".tar.gz"))
                   (sha256
                    (base32
    -                "0y5rad68b398arh0abr2wgiwybdw0i5a4dxz9s3fk9fgdbyn5gab"))))
    +                "0dszcn4r43w0ffsmgwmyzkzr5lqws3bbhlkssmjgnjgfc8n2148s"))))
         (build-system gnu-build-system)
         (native-inputs
          `(("autoconf" ,autoconf)
    @@ -186,6 +188,24 @@ of the bitcoin protocol.  This package provides the Bitcoin Core command
     line client and a client based on Qt.")
         (license license:expat)))
     
    +(define-public bitcoin-core-0.20
    +  (package
    +    (inherit bitcoin-core-0.21)
    +    (version "0.20.1")
    +    (source (origin
    +              (method url-fetch)
    +              (uri
    +               (string-append "https://bitcoincore.org/bin/bitcoin-core-"
    +                              version "/bitcoin-" version ".tar.gz"))
    +              (sha256
    +               (base32
    +                "0y5rad68b398arh0abr2wgiwybdw0i5a4dxz9s3fk9fgdbyn5gab"))))))
    +
    +;; The support lifetimes for bitcoin-core versions can be found in
    +;; .
    +
    +(define-public bitcoin-core bitcoin-core-0.21)
    +
     (define-public hledger
       (package
         (name "hledger")
    
    From 4490dff98c6979a77f3982716239b526e0ef1337 Mon Sep 17 00:00:00 2001
    From: Julien Lepiller 
    Date: Tue, 23 Mar 2021 23:13:23 +0100
    Subject: [PATCH 0956/1003] gnu: Add java-xmlpull-api-v1.
    
    * gnu/packages/xml.scm (java-xmlpull-api-v1): New variable.
    ---
     gnu/packages/xml.scm | 55 ++++++++++++++++++++++++++++++++++++++++++++
     1 file changed, 55 insertions(+)
    
    diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
    index 2a72fc6ad2..b0b159c5aa 100644
    --- a/gnu/packages/xml.scm
    +++ b/gnu/packages/xml.scm
    @@ -28,6 +28,7 @@
     ;;; Copyright © 2020 Pierre Langlois 
     ;;; Copyright © 2021 Michael Rohleder 
     ;;; Copyright © 2021 Maxim Cournoyer 
    +;;; Copyright © 2021 Julien Lepiller 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -2008,6 +2009,60 @@ efficiently all input elements (for example in SOAP processors).  This
     package is in maintenance mode.")
         (license (license:non-copyleft "file:///LICENSE.txt"))))
     
    +(define-public java-xmlpull-api-v1
    +  (package
    +    (name "java-xmlpull-api-v1")
    +    (version "1.1.3.4b")
    +    (source (origin
    +              ;; The package is originally from Extreme! Lab, but the website
    +              ;; is now gone.  This repositories contains the sources of the
    +              ;; latest version.
    +              (method git-fetch)
    +              (uri (git-reference
    +                     (url "https://github.com/aslom/xmlpull-api-v1")
    +                     ;; No releases, this is the latest commit
    +                     (commit "abeaa4aa87b2625af70c32f658f44e11355fe568")))
    +              (file-name (git-file-name name version))
    +              (sha256
    +               (base32
    +                "15bdqxfncnakskna4m9gsh4f9iczxy83qxn2anqiqd15z406a5ih"))
    +              (modules '((guix build utils)))
    +              (snippet
    +               `(begin
    +                  (delete-file-recursively "lib")
    +                  (mkdir-p "lib")
    +                  ;; prevents a failure in "dist_lite"
    +                  (substitute* "build.xml"
    +                    (("README.html") "README.md"))))))
    +    (build-system ant-build-system)
    +    (arguments
    +     `(#:test-target "junit"
    +       #:build-target "dist"
    +       #:phases
    +       (modify-phases %standard-phases
    +         (replace 'install
    +           (lambda* (#:key outputs #:allow-other-keys)
    +             (let* ((out (assoc-ref outputs "out"))
    +                    (doc (string-append out "/share/doc/" ,name "-" ,version))
    +                    (java (string-append out "/share/java"))
    +                    (project (string-append
    +                               "xmlpull_"
    +                               ,(string-join (string-split version #\.) "_"))))
    +               (mkdir-p doc)
    +               (copy-recursively (string-append "build/dist/" project "/doc/")
    +                                 doc)
    +               (mkdir-p java)
    +               (copy-file (string-append "build/dist/" project "/" project ".jar")
    +                          (string-append java "/" project ".jar")))
    +             )))))
    +    (home-page "https://github.com/aslom/xmlpull-api-v1")
    +    (synopsis "XML pull parsing API")
    +    (description "XmlPull v1 API is a simple to use XML pull parsing API.  XML
    +pull parsing allows incremental (sometimes called streaming) parsing of XML
    +where application is in control - the parsing can be interrupted at any given
    +moment and resumed when application is ready to consume more input.")
    +    (license license:public-domain)))
    +
     (define-public java-dom4j
       (package
         (name "java-dom4j")
    
    From 08b9e0ca0be309a732f0784ceee7e436bfd70f15 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= 
    Date: Tue, 23 Mar 2021 15:38:39 +0100
    Subject: [PATCH 0957/1003] gnu: Add java-mxparser.
    
    * gnu/packages/xml.scm (java-mxparser): New variable.
    
    Co-Authored-By: Julien Lepiller 
    Signed-off-by: Julien Lepiller 
    ---
     gnu/packages/xml.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
     1 file changed, 42 insertions(+)
    
    diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
    index b0b159c5aa..808a847eaf 100644
    --- a/gnu/packages/xml.scm
    +++ b/gnu/packages/xml.scm
    @@ -2311,6 +2311,48 @@ outputting XML data from Java code.")
     and back again.")
         (license license:bsd-3)))
     
    +(define-public java-mxparser
    +  (package
    +    (name "java-mxparser")
    +    (version "1.2.1")
    +    (source
    +     (origin
    +       (method git-fetch)
    +       (uri (git-reference
    +              (url "https://github.com/x-stream/mxparser")
    +              (commit (string-append "v-" version))))
    +       (file-name (git-file-name name version))
    +       (sha256
    +        (base32 "0i3jrjbz4hgf62fm1ix7nlcmhi4kcv4flqsfvh7a3l2v7nsp5ryb"))))
    +    (build-system ant-build-system)
    +    (arguments
    +     `(#:jar-name "mxparser.jar"
    +       #:source-dir "src/main/java"
    +       #:test-dir "src/test"
    +       #:phases
    +       (modify-phases %standard-phases
    +         (add-before 'build 'copy-resources
    +           (lambda _
    +             (copy-recursively "src/main/resources" "build/classes")
    +             #t)))))
    +    (propagated-inputs
    +     `(("java-xmlpull-api-v1" ,java-xmlpull-api-v1)))
    +    (native-inputs
    +     `(("java-junit" ,java-junit)))
    +    (home-page "https://github.com/x-stream/mxparser")
    +    (synopsis "Streaming pull XML parser forked from @code{java-xpp3}")
    +    (description "Xml Pull Parser (in short XPP) is a streaming pull XML
    +parser and should be used when there is a need to process quickly and
    +efficiently all input elements (for example in SOAP processors). This
    +package is a stable XmlPull parsing engine that is based on ideas from XPP
    +and in particular XPP2 but completely revised and rewritten to take the best
    +advantage of JIT JVMs.
    +
    +MXParser is a fork of xpp3_min 1.1.7 containing only the parser with merged
    +changes of the Plexus fork. It is an implementation of the XMLPULL V1 API
    +(parser only).")
    +    (license (license:non-copyleft "file://LICENSE.txt"))))
    +
     (define-public xmlrpc-c
       (package
         (name "xmlrpc-c")
    
    From 8b2b5463963d5d4dee480b0cf73fa4a9eca414ba Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?L=C3=A9o=20Le=20Bouter?= 
    Date: Tue, 23 Mar 2021 15:38:40 +0100
    Subject: [PATCH 0958/1003] gnu: java-xstream: Update to 1.4.16 [security
     fixes].
    
    Fixes CVE-2021-21341, CVE-2021-21342, CVE-2021-21343, CVE-2021-21344,
    CVE-2021-21345, CVE-2021-21346, CVE-2021-21347, CVE-2021-21348,
    CVE-2021-21349, CVE-2021-21350 and CVE-2021-21351.
    
    * gnu/packages/xml.scm (java-xstream): Update to 1.4.16.
    [inputs]: Add java-mxparser, a fork of java-xpp3 made by upstream.
    Java-xpp3 is still needed.
    
    Signed-off-by: Julien Lepiller 
    ---
     gnu/packages/xml.scm | 5 +++--
     1 file changed, 3 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
    index 808a847eaf..d05d326f5b 100644
    --- a/gnu/packages/xml.scm
    +++ b/gnu/packages/xml.scm
    @@ -2272,7 +2272,7 @@ outputting XML data from Java code.")
     (define-public java-xstream
       (package
         (name "java-xstream")
    -    (version "1.4.15")
    +    (version "1.4.16")
         (source
          (origin
            (method git-fetch)
    @@ -2284,7 +2284,7 @@ outputting XML data from Java code.")
                                       version)))))
            (file-name (git-file-name name version))
            (sha256
    -        (base32 "1178qryrjwjp44439pi5dxzd32896r5zs429z1qhlc09951r7mi9"))))
    +        (base32 "16k2mc63h2fw7lxv74qmhg4p8q9hfrw114daa6nxwnpv08cnq755"))))
         (build-system ant-build-system)
         (arguments
          `(#:jar-name "xstream.jar"
    @@ -2299,6 +2299,7 @@ outputting XML data from Java code.")
            ("java-joda-time" ,java-joda-time)
            ("java-jettison" ,java-jettison)
            ("java-xom" ,java-xom)
    +       ("java-mxparser" ,java-mxparser)
            ("java-xpp3" ,java-xpp3)
            ("java-dom4j" ,java-dom4j)
            ("java-stax2-api" ,java-stax2-api)
    
    From f21da3325566c1af06f8dc187995910e181f1752 Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:01 +0100
    Subject: [PATCH 0959/1003] gnu: python2-arrow: Remove package.
    
    * gnu/packages/time.scm (python2-arrow): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/time.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm
    index 20ce76d8d0..be37ea980e 100644
    --- a/gnu/packages/time.scm
    +++ b/gnu/packages/time.scm
    @@ -448,9 +448,6 @@ converting dates, times, and timestamps.  It implements and updates the
     datetime type.")
         (license asl2.0)))
     
    -(define-public python2-arrow
    -  (package-with-python2 python-arrow))
    -
     (define-public python-aniso8601
       (package
         (name "python-aniso8601")
    
    From 6bafc5cf1ec64a1a88ccdedf4c07ddf9bb17a286 Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:02 +0100
    Subject: [PATCH 0960/1003] gnu: python2-cairocffi: Remove.
    
    * gnu/packages/python-xyz.scm (python2-cairocffi): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/python-xyz.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
    index bbe52ff5eb..9571eff103 100644
    --- a/gnu/packages/python-xyz.scm
    +++ b/gnu/packages/python-xyz.scm
    @@ -6425,9 +6425,6 @@ graphics library with support for multiple backends including image buffers,
     PNG, PostScript, PDF, and SVG file output.")
         (license license:bsd-3)))
     
    -(define-public python2-cairocffi
    -  (package-with-python2 python-cairocffi))
    -
     (define-public python-decorator
       (package
         (name "python-decorator")
    
    From 6a098614b8ed997c374a4e0408c960b462026378 Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:03 +0100
    Subject: [PATCH 0961/1003] gnu: python2-dulwich: Remove package.
    
    * gnu/packages/python-xyz.scm (python2-dulwich): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/python-xyz.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
    index 9571eff103..8d2d1c1f10 100644
    --- a/gnu/packages/python-xyz.scm
    +++ b/gnu/packages/python-xyz.scm
    @@ -15310,9 +15310,6 @@ protocols written in pure Python.")
         ;; Can be used with either license.
         (license (list license:asl2.0 license:gpl2+))))
     
    -(define-public python2-dulwich
    -  (package-with-python2 python-dulwich))
    -
     (define-public python-pbkdf2
       (package
         (name "python-pbkdf2")
    
    From 9541682c799973c136bd93bc88eb7724a772eafe Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:04 +0100
    Subject: [PATCH 0962/1003] gnu: python2-yubikey-manager: Remove package.
    
    * gnu/packages/security-token.scm (python2-yubikey-manager): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/security-token.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
    index f47619aa55..e53d8590e6 100644
    --- a/gnu/packages/security-token.scm
    +++ b/gnu/packages/security-token.scm
    @@ -670,6 +670,3 @@ that after installing this package, you might still need to add appropriate
     udev rules to your system configuration to be able to configure the YubiKey as
     an unprivileged user.")
         (license license:bsd-2)))
    -
    -(define-public python2-yubikey-manager
    -  (package-with-python2 python-yubikey-manager))
    
    From b5bae212d64480641231dff35099f798a861888f Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:05 +0100
    Subject: [PATCH 0963/1003] gnu: python2-fido2: Remove package.
    
    * gnu/packages/security-token.scm (python2-fido2): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/security-token.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
    index e53d8590e6..accab82419 100644
    --- a/gnu/packages/security-token.scm
    +++ b/gnu/packages/security-token.scm
    @@ -631,9 +631,6 @@ implementing a Relying Party.")
         ;; files for internal use, so they are not really a bundled dependency.
         (license (list license:bsd-2 license:asl2.0))))
     
    -(define-public python2-fido2
    -  (package-with-python2 python-fido2))
    -
     (define-public python-yubikey-manager
       (package
         (name "python-yubikey-manager")
    
    From d20198347510094c809fb16f04181ae67b50a924 Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:06 +0100
    Subject: [PATCH 0964/1003] gnu: python2-flask-wtf: Remove package.
    
    * gnu/packages/python-web.scm (python2-flask-wtf): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/python-web.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
    index 0f67046f75..119d3aa0a9 100644
    --- a/gnu/packages/python-web.scm
    +++ b/gnu/packages/python-web.scm
    @@ -2970,9 +2970,6 @@ presume or force a developer to use a particular tool or library.")
     upload, and reCAPTCHA.")
         (license license:bsd-3)))
     
    -(define-public python2-flask-wtf
    -  (package-with-python2 python-flask-wtf))
    -
     (define-public python-flask-multistatic
       (package
         (name "python-flask-multistatic")
    
    From ec1a9c61e70e52450b4b80bbf5e6f8cce324036a Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:07 +0100
    Subject: [PATCH 0965/1003] gnu: python2-flask-babel: Remove package.
    
    * gnu/packages/python-web.scm (python2-flask-babel): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/python-web.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
    index 119d3aa0a9..2c5847312b 100644
    --- a/gnu/packages/python-web.scm
    +++ b/gnu/packages/python-web.scm
    @@ -1017,9 +1017,6 @@ support for Flask.  This is based on the Python babel module as well as pytz -
     both of which are installed automatically if you install this library.")
         (license license:bsd-3)))
     
    -(define-public python2-flask-babel
    -  (package-with-python2 python-flask-babel))
    -
     (define-public python-flask-cors
       (package
         (name "python-flask-cors")
    
    From d1e421ca0db05333ac68cd47826b3ca704f26b29 Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:08 +0100
    Subject: [PATCH 0966/1003] gnu: python2-flask-htmlmin: Remove package.
    
    * gnu/packages/python-web.scm (python2-flask-htmlmin): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/python-web.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
    index 2c5847312b..5e6673b2c6 100644
    --- a/gnu/packages/python-web.scm
    +++ b/gnu/packages/python-web.scm
    @@ -3604,9 +3604,6 @@ It comes with safe defaults and easily configurable options.")
          "Minify @code{text/html} MIME type responses when using @code{Flask}.")
         (license license:bsd-3)))
     
    -(define-public python2-flask-htmlmin
    -  (package-with-python2 python-flask-htmlmin))
    -
     (define-public python-jsmin
       (package
         (name "python-jsmin")
    
    From f44917ea55891194798193e8e49dd7cce919bdd3 Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:09 +0100
    Subject: [PATCH 0967/1003] gnu: python2-flask-login: Remove package.
    
    * gnu/packages/python-web.scm (python2-flask-login): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/python-web.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
    index 5e6673b2c6..ec4c755f8b 100644
    --- a/gnu/packages/python-web.scm
    +++ b/gnu/packages/python-web.scm
    @@ -3657,9 +3657,6 @@ handles the common tasks of logging in, logging out, and remembering your
     users' sessions over extended periods of time.")
         (license license:expat)))
     
    -(define-public python2-flask-login
    -  (package-with-python2 python-flask-login))
    -
     (define-public python-oauth2client
       (package
         (name "python-oauth2client")
    
    From dab3c57d587eee2a005c9a6534cfd4c706e679fa Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:35 +0100
    Subject: [PATCH 0968/1003] gnu: python2-flask-multistatic: Remove package.
    
    * gnu/packages/python-web.scm (python2-flask-multistatic): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/python-web.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
    index ec4c755f8b..64170d4f45 100644
    --- a/gnu/packages/python-web.scm
    +++ b/gnu/packages/python-web.scm
    @@ -2987,9 +2987,6 @@ upload, and reCAPTCHA.")
     for overriding static files.")
         (license license:gpl3+)))
     
    -(define-public python2-flask-multistatic
    -  (package-with-python2 python-flask-multistatic))
    -
     (define-public python-cookies
       (package
         (name "python-cookies")
    
    From 7502c13895b9f1548106dfa2323a4143d2dc91b3 Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:36 +0100
    Subject: [PATCH 0969/1003] gnu: python2-httpbin: Remove package.
    
    * gnu/packages/web.scm (python2-httpbin): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/web.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
    index ef11cb6a1c..1e93308fb0 100644
    --- a/gnu/packages/web.scm
    +++ b/gnu/packages/web.scm
    @@ -6209,9 +6209,6 @@ response.  This exists to cover all kinds of HTTP scenarios.  All endpoint respo
     JSON-encoded.")
         (license license:isc)))
     
    -(define-public python2-httpbin
    -  (package-with-python2 python-httpbin))
    -
     (define-public python-pytest-httpbin
       (package
         (name "python-pytest-httpbin")
    
    From bce0165f7c818a2c2764ee1a12e1b3a4b642e0ad Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:37 +0100
    Subject: [PATCH 0970/1003] gnu: python2-flask: Remove package.
    
    * gnu/packages/python-web.scm (python2-flask): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/python-web.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
    index 64170d4f45..6b57af18a3 100644
    --- a/gnu/packages/python-web.scm
    +++ b/gnu/packages/python-web.scm
    @@ -2932,9 +2932,6 @@ and Jinja2 template engine.  It is called a micro framework because it does not
     presume or force a developer to use a particular tool or library.")
         (license license:bsd-3)))
     
    -(define-public python2-flask
    -  (package-with-python2 python-flask))
    -
     (define-public python-flask-wtf
       (package
         (name "python-flask-wtf")
    
    From ec2384b79d739c1edf99dc33d555e3f3fedac639 Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:38 +0100
    Subject: [PATCH 0971/1003] gnu: python2-furl: Remove package.
    
    * gnu/packages/python-web.scm (python2-furl): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/python-web.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
    index 6b57af18a3..21af15b0a9 100644
    --- a/gnu/packages/python-web.scm
    +++ b/gnu/packages/python-web.scm
    @@ -623,9 +623,6 @@ over a different origin than that of the web application.")
     @code{urllib} and @code{urlparse} modules for manipulating URLs.")
         (license license:unlicense)))
     
    -(define-public python2-furl
    -  (package-with-python2 python-furl))
    -
     (define-public python-httplib2
       (package
         (name "python-httplib2")
    
    From 5f3411e4012658f0894e253aed3b198412d77bfd Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:39 +0100
    Subject: [PATCH 0972/1003] gnu: python2-graphql-core: Remove package.
    
    * gnu/packages/python-xyz.scm (python2-graphql-core): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/python-xyz.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
    index 8d2d1c1f10..1b6ad247e1 100644
    --- a/gnu/packages/python-xyz.scm
    +++ b/gnu/packages/python-xyz.scm
    @@ -14665,9 +14665,6 @@ This library is a port of @url{https://github.com/graphql/graphql-js,graphql-js}
     to Python.")
         (license license:expat)))
     
    -(define-public python2-graphql-core
    -  (package-with-python2 python-graphql-core))
    -
     (define-public python-graphql-relay
       (package
         (name "python-graphql-relay")
    
    From 4c726e06981da1391bd819d905f5a79670a5ffbb Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:40 +0100
    Subject: [PATCH 0973/1003] gnu: python2-ipywidgets: Remove package.
    
    * gnu/packages/python-xyz.scm (python2-ipywidgets): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/python-xyz.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
    index 1b6ad247e1..1b6453c827 100644
    --- a/gnu/packages/python-xyz.scm
    +++ b/gnu/packages/python-xyz.scm
    @@ -10444,9 +10444,6 @@ widgets are used.  Users gain control of their data and can visualize changes
     in the data.")
         (license license:bsd-3)))
     
    -(define-public python2-ipywidgets
    -  (package-with-python2 python-ipywidgets))
    -
     (define-public python-jupyter-console
       (package
         (name "python-jupyter-console")
    
    From f72d345e44f856c97fe3da1f191091ba3edd0641 Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:42 +0100
    Subject: [PATCH 0974/1003] gnu: python2-mutagen: Remove package.
    
    * gnu/packages/music.scm (python2-mutagen): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/music.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
    index 06632986ab..f02c7f2c21 100644
    --- a/gnu/packages/music.scm
    +++ b/gnu/packages/music.scm
    @@ -3348,9 +3348,6 @@ APEv2 tags can be edited regardless of audio format.  It can also manipulate Ogg
     streams on an individual packet/page level.")
         (license license:gpl2))) ; "later version" never mentioned
     
    -(define-public python2-mutagen
    -  (package-with-python2 python-mutagen))
    -
     (define-public python-mediafile
       (package
         (name "python-mediafile")
    
    From 84950c0d06155b5a7309f782932de37d2f5553e1 Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:43 +0100
    Subject: [PATCH 0975/1003] gnu: python2-nbxmpp: Remove package.
    
    * gnu/packages/messaging.scm (python2-nbxmpp): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/messaging.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
    index 26000c48b8..a967ac31c2 100644
    --- a/gnu/packages/messaging.scm
    +++ b/gnu/packages/messaging.scm
    @@ -1017,9 +1017,6 @@ of xmpppy.")
         (home-page "https://dev.gajim.org/gajim/python-nbxmpp")
         (license license:gpl3+)))
     
    -(define-public python2-nbxmpp
    -  (package-with-python2 python-nbxmpp))
    -
     (define-public gajim
       (package
         (name "gajim")
    
    From c74c4377b3a39d93b3d72c4c4fae86abaa2961d1 Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:44 +0100
    Subject: [PATCH 0976/1003] gnu: python2-rq: Remove package.
    
    * gnu/packages/databases.scm (python2-rq): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/databases.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
    index 8be83f5cbe..83b6a13892 100644
    --- a/gnu/packages/databases.scm
    +++ b/gnu/packages/databases.scm
    @@ -3353,9 +3353,6 @@ processing them in the background with workers.  It is backed by Redis and it
     is designed to have a low barrier to entry.")
         (license license:bsd-2)))
     
    -(define-public python2-rq
    -  (package-with-python2 python-rq))
    -
     (define-public python-rq-scheduler
       (package
         (name "python-rq-scheduler")
    
    From 7c03695a24f966685b6990272114472728798fd2 Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:55:41 +0100
    Subject: [PATCH 0977/1003] gnu: python2-mpd2: Remove package.
    
    * gnu/packages/mpd.scm (python2-mpd2): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/mpd.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
    index 2f32364ad8..7df0d82805 100644
    --- a/gnu/packages/mpd.scm
    +++ b/gnu/packages/mpd.scm
    @@ -307,9 +307,6 @@ information about tracks being played to a scrobbler, such as Libre.FM.")
     interface for the Music Player Daemon.")
         (license license:lgpl3+)))
     
    -(define-public python2-mpd2
    -  (package-with-python2 python-mpd2))
    -
     (define-public sonata
       (package
         (name "sonata")
    
    From f68dbdadba8627e72f625834abc30a8fb6d82d0b Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:56:11 +0100
    Subject: [PATCH 0978/1003] gnu: python2-sh: Remove package.
    
    * gnu/packages/python-xyz.scm (python2-sh): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/python-xyz.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
    index 1b6453c827..4f9ff2c97b 100644
    --- a/gnu/packages/python-xyz.scm
    +++ b/gnu/packages/python-xyz.scm
    @@ -992,9 +992,6 @@ concepts.")
     @code{subprocess} feature.")
         (license license:expat)))
     
    -(define-public python2-sh
    -  (package-with-python2 python-sh))
    -
     (define-public python-cftime
       (package
         (name "python-cftime")
    
    From 97f4fd8a746c41bb305c43aee6ba015c066a5c8f Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:56:12 +0100
    Subject: [PATCH 0979/1003] gnu: python2-stem: Remove package.
    
    * gnu/packages/python-xyz.scm (python2-stem): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/python-xyz.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
    index 4f9ff2c97b..674f343691 100644
    --- a/gnu/packages/python-xyz.scm
    +++ b/gnu/packages/python-xyz.scm
    @@ -14232,9 +14232,6 @@ control protocol to script against the Tor process and read descriptor data
     relays publish about themselves.")
         (license license:lgpl3)))
     
    -(define-public python2-stem
    -  (package-with-python2 python-stem))
    -
     (define-public python-pyserial
       (package
         (name "python-pyserial")
    
    From 82c772a774fdc64f60e3814e8648f2bae9d15306 Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:56:13 +0100
    Subject: [PATCH 0980/1003] gnu: python2-tables: Remove package.
    
    * gnu/packages/python-xyz.scm (python2-tables): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/python-xyz.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
    index 674f343691..a4584140a5 100644
    --- a/gnu/packages/python-xyz.scm
    +++ b/gnu/packages/python-xyz.scm
    @@ -9528,9 +9528,6 @@ tasks, sockets, files, locks, and queues.")
     designed to efficiently cope with extremely large amounts of data.")
         (license license:bsd-3)))
     
    -(define-public python2-tables
    -  (package-with-python2 python-tables))
    -
     (define-public python-sniffio
       (package
         (name "python-sniffio")
    
    From d8402031af537266300f4e556c267434b4b34c60 Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:56:14 +0100
    Subject: [PATCH 0981/1003] gnu: python2-utils: Remove package.
    
    * gnu/packages/python-xyz.scm (python2-utils): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/python-xyz.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
    index a4584140a5..bb162cc162 100644
    --- a/gnu/packages/python-xyz.scm
    +++ b/gnu/packages/python-xyz.scm
    @@ -16264,9 +16264,6 @@ exception message with a traceback that points to the culprit.")
     make common patterns shorter and easier.")
         (license license:bsd-2)))
     
    -(define-public python2-utils
    -  (package-with-python2 python-utils))
    -
     (define-public python-diff-match-patch
       (package
         (name "python-diff-match-patch")
    
    From d0429747deb3efcce567c94ac74ac3a48b0f0bd6 Mon Sep 17 00:00:00 2001
    From: zimoun 
    Date: Mon, 15 Mar 2021 16:56:15 +0100
    Subject: [PATCH 0982/1003] gnu: python2-widgetsnbextension: Remove package.
    
    * gnu/packages/python-xyz.scm (python2-widgetsnbextension): Delete.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/python-xyz.scm | 3 ---
     1 file changed, 3 deletions(-)
    
    diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
    index bb162cc162..9f57992fdd 100644
    --- a/gnu/packages/python-xyz.scm
    +++ b/gnu/packages/python-xyz.scm
    @@ -10408,9 +10408,6 @@ interactive computing.")
     notebooks.")
         (license license:bsd-3)))
     
    -(define-public python2-widgetsnbextension
    -  (package-with-python2 python-widgetsnbextension))
    -
     (define-public python-ipywidgets
       (package
         (name "python-ipywidgets")
    
    From c221d4951083ec2e92469e95e896f2d666f74cf5 Mon Sep 17 00:00:00 2001
    From: Raghav Gururajan 
    Date: Sat, 13 Mar 2021 17:08:57 -0500
    Subject: [PATCH 0983/1003] gnu: Add libdecaf.
    
    * gnu/packages/crypto.scm (libdecaf): New variable.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/crypto.scm | 53 +++++++++++++++++++++++++++++++++++++++++
     1 file changed, 53 insertions(+)
    
    diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
    index 0000e7fbf2..94f9cbeebf 100644
    --- a/gnu/packages/crypto.scm
    +++ b/gnu/packages/crypto.scm
    @@ -47,9 +47,11 @@
       #:use-module (gnu packages compression)
       #:use-module (gnu packages crates-io)
       #:use-module (gnu packages cryptsetup)
    +  #:use-module (gnu packages documentation)
       #:use-module (gnu packages gettext)
       #:use-module (gnu packages gnupg)
       #:use-module (gnu packages golang)
    +  #:use-module (gnu packages graphviz)
       #:use-module (gnu packages image)
       #:use-module (gnu packages kerberos)
       #:use-module (gnu packages libbsd)
    @@ -88,6 +90,57 @@
       #:use-module (srfi srfi-1)
       #:use-module (srfi srfi-26))
     
    +(define-public libdecaf
    +  (package
    +    (name "libdecaf")
    +    (version "1.0.1")
    +    (source (origin
    +              (method git-fetch)
    +              (uri (git-reference
    +                    (url "git://git.code.sf.net/p/ed448goldilocks/code")
    +                    (commit
    +                     (string-append "v" version))))
    +              (file-name
    +               (git-file-name name version))
    +              (sha256
    +               (base32 "1ajgmyvc6a4m1h2hg1g4wz7ibx10x1xys9m6ancnmmf1f2srlfly"))))
    +    (build-system cmake-build-system)
    +    (outputs '("out" "python" "doc"))
    +    (arguments
    +     `(#:configure-flags '("-DENABLE_STATIC=OFF")
    +       #:phases
    +       (modify-phases %standard-phases
    +         (add-after 'unpack 'patch-python-binding
    +           (lambda _
    +             (substitute* "python/setup.py"
    +               (("gmake")
    +                "make")
    +               (("'\\.\\.', 'build', 'lib', 'libdecaf\\.so'")
    +                "'..', '..', 'build', 'src', 'libdecaf.so'"))))
    +         (add-after 'install 'install-python-binding
    +           (lambda* (#:key outputs #:allow-other-keys)
    +             (with-directory-excursion "../source/python"
    +               (invoke "python" "setup.py" "install"
    +                       (string-append "--prefix=" (assoc-ref outputs "python"))
    +                       "--root=/"))))
    +         (add-after 'install-python-binding 'install-documentation
    +           (lambda* (#:key outputs #:allow-other-keys)
    +             (invoke "make" "doc")
    +             (let* ((doc (assoc-ref outputs "doc"))
    +                    (dest (string-append doc "/share/doc")))
    +               (copy-recursively "doc" dest)))))))
    +    (native-inputs
    +     `(("dot" ,graphviz)
    +       ("doxygen" ,doxygen)
    +       ("python" ,python-wrapper)))
    +    (synopsis "Decaf Elliptic Curve Library")
    +    (description "The libdecaf library is an implementation of elliptic curve
    +cryptography using the Montgomery and Edwards curves Curve25519, Ed25519,
    +Ed448-Goldilocks and Curve448, using the Decaf encoding.")
    +    (home-page "http://ed448goldilocks.sourceforge.net/")
    +    (license (list license:expat        ;library
    +                   license:bsd-2))))    ;python bindings
    +
     (define-public libsodium
       (package
         (name "libsodium")
    
    From c2a9b05f02094b9fba9be9b491acbd97b0920754 Mon Sep 17 00:00:00 2001
    From: Raghav Gururajan 
    Date: Sat, 13 Mar 2021 12:04:37 -0500
    Subject: [PATCH 0984/1003] gnu: bcunit: Update to 3.0.2-0.74021cc and enable
     more features.
    
    * gnu/packages/linphone.scm (bcunit)[source]: Switch to git repository.
    [version]: Update to 3.0.2-0.74021cc.
    [outputs]: Add a "doc" output.
    [arguments]: Remove the tests? argument, enabling tests.
    [configure-flags]: Enable curses, doc, examples, tests and memtrace.
    [phases]{patch-source, move-doc}: New phases.
    {check}: Override phase.
    [inputs]: Add ncurses.
    [description]: Fix typo.
    
    Signed-off-by: Maxim Cournoyer 
    ---
     gnu/packages/linphone.scm | 88 +++++++++++++++++++++++++++++----------
     1 file changed, 66 insertions(+), 22 deletions(-)
    
    diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
    index afa542412f..382b3a912b 100644
    --- a/gnu/packages/linphone.scm
    +++ b/gnu/packages/linphone.scm
    @@ -35,6 +35,8 @@
       #:use-module (gnu packages gtk)
       #:use-module (gnu packages image)
       #:use-module (gnu packages linux)
    +  #:use-module (gnu packages ncurses)
    +  #:use-module (gnu packages perl)
       #:use-module (gnu packages pulseaudio)
       #:use-module (gnu packages python)
       #:use-module (gnu packages python-xyz)
    @@ -57,28 +59,70 @@
       #:use-module (guix build-system gnu))
     
     (define-public bcunit
    -  (package
    -    (name "bcunit")
    -    (version "3.0.2")
    -    (source
    -     (origin
    -       (method url-fetch)
    -       (uri
    -        (string-append "https://www.linphone.org/releases/sources/" name
    -                       "/" name "-" version ".tar.gz"))
    -       (sha256
    -        (base32 "0ylchj8w98ic2fkqpxc6yk4s6s0h0ql2zsz5n49jd7126m4h8dqk"))))
    -    (build-system cmake-build-system)
    -    (arguments
    -     '(#:tests? #f                      ; No test target
    -       #:configure-flags
    -       (list "-DENABLE_STATIC=NO")))    ; Not required
    -    (synopsis "Belledonne Communications Unit Testing Framework")
    -    (description "BCUnit is a fork of the defunct project CUnit, with several
    -fixes and patches applied.  It is an unit testing framework for writing,
    -administering, and running unit tests in C.")
    -    (home-page "https://gitlab.linphone.org/BC/public/bcunit")
    -    (license license:lgpl2.0+)))
    +  (let ((commit "74021cc7cb20a4e177748dd2948173e1f9c270ae")
    +        (revision "0"))
    +    (package
    +      (name "bcunit")
    +      (version (git-version "3.0.2" revision commit))
    +      (source
    +       (origin
    +         (method git-fetch)
    +         (uri (git-reference
    +               (url "git://git.linphone.org/bcunit")
    +               (commit commit)))
    +         (file-name (git-file-name name version))
    +         (sha256
    +          (base32 "0npdwvanjkfg9vrqs5yi8vh6wliv50ycdli8pzavir84nb31nq1b"))))
    +      (build-system cmake-build-system)
    +      (outputs '("out" "doc"))
    +      (arguments
    +       `(#:configure-flags (list "-DENABLE_STATIC=NO"
    +                                 "-DENABLE_CURSES=ON"
    +                                 "-DENABLE_DOC=ON"
    +                                 "-DENABLE_EXAMPLES=ON"
    +                                 "-DENABLE_TEST=ON"
    +                                 "-DENABLE_MEMTRACE=ON")
    +         #:phases
    +         (modify-phases %standard-phases
    +           (add-after 'unpack 'patch-source
    +             (lambda _
    +               ;; Include BCunit headers for examples.
    +               (substitute* "Examples/CMakeLists.txt"
    +                 (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}")
    +                  (string-append "${CMAKE_CURRENT_SOURCE_DIR} "
    +                                 "${PROJECT_SOURCE_DIR}/BCUnit/Headers "
    +                                 "${CMAKE_BINARY_DIR}/BCUnit/Headers")))
    +               ;; Link bcunit and bcunit_tests libraries.
    +               (substitute* "BCUnit/Sources/CMakeLists.txt"
    +                 (("target_include_directories\\(bcunit_test PUBLIC Test\\)")
    +                  (string-append
    +                   "target_include_directories(bcunit_test PUBLIC Test)\n"
    +                   "target_link_libraries(bcunit_test bcunit)")))))
    +           (replace 'check
    +             (lambda _
    +               (with-directory-excursion "BCUnit/Sources/Test"
    +                 (invoke "./test_bcunit"))))
    +           (add-after 'install 'move-doc
    +             (lambda* (#:key outputs #:allow-other-keys)
    +               (let ((out (assoc-ref outputs "out"))
    +                     (doc (assoc-ref outputs "doc")))
    +                 (for-each mkdir-p
    +                           `(,(string-append doc "/share/doc")
    +                             ,(string-append doc "/share/BCUnit")))
    +                 (rename-file
    +                  (string-append out "/share/doc/BCUnit")
    +                  (string-append doc "/share/doc/BCUnit"))
    +                 (rename-file
    +                  (string-append out "/share/BCUnit/Examples")
    +                  (string-append doc "/share/BCUnit/Examples"))))))))
    +      (inputs
    +       `(("ncurses" ,ncurses)))
    +      (synopsis "Belledonne Communications Unit Testing Framework")
    +      (description "BCUnit is a fork of the defunct project CUnit, with
    +several fixes and patches applied.  It is a unit testing framework for
    +writing, administering, and running unit tests in C.")
    +      (home-page "https://gitlab.linphone.org/BC/public/bcunit")
    +      (license license:lgpl2.0+))))
     
     (define-public bctoolbox
       (package
    
    From dc68018e015a18fb75bc9f95ed57b33c574a39dd Mon Sep 17 00:00:00 2001
    From: Leo Famulari 
    Date: Wed, 24 Mar 2021 01:54:52 -0400
    Subject: [PATCH 0985/1003] gnu: Add cbonsai.
    
    * gnu/packages/toys.scm (cbonsai): New variable.
    ---
     gnu/packages/toys.scm | 39 +++++++++++++++++++++++++++++++++++++++
     1 file changed, 39 insertions(+)
    
    diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm
    index 6387e84a3d..f88ea68436 100644
    --- a/gnu/packages/toys.scm
    +++ b/gnu/packages/toys.scm
    @@ -3,6 +3,7 @@
     ;;; Copyright © 2019 Jesse Gibbons 
     ;;; Copyright © 2019, 2020 Timotej Lazar 
     ;;; Copyright © 2020 Efraim Flashner 
    +;;; Copyright © 2021 Leo Famulari 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -236,3 +237,41 @@ and various scenery elements.")
          "This is an animated, color, ANSI-text telnet server that renders a loop
     of the Nyan Cat / Poptart Cat animation.")
         (license license:ncsa)))
    +
    +(define-public cbonsai
    +  (package
    +    (name "cbonsai")
    +    (version "1.0.4")
    +    (source (origin
    +              (method git-fetch)
    +              (uri (git-reference
    +                     (url "https://gitlab.com/jallbrit/cbonsai.git")
    +                     (commit (string-append "v" version))))
    +              (file-name (git-file-name name version))
    +              (sha256
    +               (base32
    +                "0a5lqc0il0dq26j4wxg1z2siqanra2905x9akwi86zriq65ayb77"))))
    +    (build-system gnu-build-system)
    +    (arguments
    +     `(#:tests? #f ; No test suite
    +       #:make-flags
    +       (list (string-append "CC=" ,(cc-for-target))
    +             (string-append "PREFIX=" (assoc-ref %outputs "out")))
    +       #:phases
    +       (modify-phases %standard-phases
    +         (delete 'configure) ; No ./configure script
    +         (add-after 'install 'install-doc
    +           (lambda* (#:key outputs #:allow-other-keys)
    +             (let* ((out (assoc-ref outputs "out"))
    +                    (doc (string-append out "/share/doc/" ,name "-"
    +                                        ,(package-version this-package))))
    +               (install-file "README.md" doc)))))))
    +    (native-inputs
    +     `(("pkg-config" ,pkg-config)))
    +    (inputs
    +     `(("ncurses" ,ncurses)))
    +    (home-page "https://gitlab.com/jallbrit/cbonsai")
    +    (synopsis "Grow bonsai trees in a terminal")
    +    (description "Cbonsai is a bonsai tree generator using ASCII art.  It
    +creates, colors, and positions a bonsai tree, and is configurable.")
    +    (license license:gpl3+)))
    
    From 8a1118a96c9ae128302c3d435ae77cb3dd693aea Mon Sep 17 00:00:00 2001
    From: Chris Marusich 
    Date: Sun, 10 Jan 2021 16:58:57 -0800
    Subject: [PATCH 0986/1003] gnu: bootstrap: Add support for powerpc64le-linux.
    
    The bootstrap tarballs used by these bootstrap packages were created via the
    following steps:
    
    - Create a new x86_64 VM using QEMU.
    - Use
      https://ftp.gnu.org/gnu/guix/guix-system-install-1.2.0.x86_64-linux.iso.xz
      to install Guix System 1.2.0 in the VM.
    - Run: guix pull --no-substitutes --commit=662e7e28d576ada91fc9dec7d27c100666114f03
    - Run: guix build --no-substitutes --target=powerpc64le-linux-gnu bootstrap-tarballs
    
    With the exception of gcc-static, all bootstrap binaries contained in these
    tarballs can be built reproducibly.  Unfortunately, gcc-static is not always
    reproducible when everything is built from source on separate machines.
    Despite investigation efforts, the cause remains unclear, so we have decided
    to move forward with these binaries to unblock further bootstrapping work.
    For details, see .
    
    * gnu/packages/bootstrap.scm (%bootstrap-executables)
    (bootstrap-executable-file-name, bootstrap-guile-url-path)
    (bootstrap-guile-hash, %bootstrap-coreutils&co, %bootstrap-binutils)
    (%bootstrap-glibc, %bootstrap-gcc): Add entries for powerpc64le-linux.
    (%bootstrap-executable-base-urls): Add an entry for alpha.gnu.org.
    ---
     gnu/packages/bootstrap.scm | 39 +++++++++++++++++++++++++++++++++++++-
     1 file changed, 38 insertions(+), 1 deletion(-)
    
    diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
    index c39e60ec8b..c598cedc0a 100644
    --- a/gnu/packages/bootstrap.scm
    +++ b/gnu/packages/bootstrap.scm
    @@ -5,6 +5,8 @@
     ;;; Copyright © 2018, 2020 Jan (janneke) Nieuwenhuizen 
     ;;; Copyright © 2019 Carl Dong 
     ;;; Copyright © 2019 Léo Le Bouter 
    +;;; Copyright © 2020 Jakub Kądziołka 
    +;;; Copyright © 2021 Chris Marusich 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -122,16 +124,27 @@
          ("tar"
           ,(base32 "06gmqdjq3rl8lr47b9fyx4ifnm5x56ymc8lyryp1ax1j2s4y5jb4"))
          ("xz"
    -      ,(base32 "09j1d69qr0hhhx4k4ih8wp00dfc9y4rp01hfg3vc15yxd0jxabh5")))))
    +      ,(base32 "09j1d69qr0hhhx4k4ih8wp00dfc9y4rp01hfg3vc15yxd0jxabh5")))
    +    ("powerpc64le-linux"
    +     ("bash"
    +      ,(base32 "1kiw7n6mkdy2x9in97646nb7aiayxr090ws1hbrlazah3fjqi6nj"))
    +     ("mkdir"
    +      ,(base32 "04dpvi231zcl40ig048vqqnyvmnkw1byrm1q1qqvs1f0g16yhrrk"))
    +     ("tar"
    +      ,(base32 "150c8948cz8r208g6qgn2dn4f4zs5kpgbpbg6bwag6yw42rapw2l"))
    +     ("xz"
    +      ,(base32 "0v5738idy9pqzcbrjdpxi5c6qs5m78zrpsydmrpx5cfcfzbkxzjh")))))
     
     (define %bootstrap-executable-base-urls
       ;; This is where the bootstrap executables come from.
       '("https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootstrap/"
    +    "https://alpha.gnu.org/gnu/guix/bootstrap/"
         "http://lilypond.org/janneke/guix/"))
     
     (define (bootstrap-executable-file-name system program)
       "Return the FILE-NAME part of url where PROGRAM can be found for SYSTEM."
       (match system
    +    ("powerpc64le-linux" (string-append system "/20210106/" program))
         ("i586-gnu" (string-append system "/20200326/" program))
         (_ (string-append system "/" program
                           "?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e"))))
    @@ -332,6 +345,8 @@ or false to signal an error."
                         "/20150101/guile-2.0.11.tar.xz")
                        ("i586-gnu"
                         "/20200326/guile-static-stripped-2.0.14-i586-pc-gnu.tar.xz")
    +                   ("powerpc64le-linux"
    +                    "/20210106/guile-static-stripped-2.0.14-powerpc64le-linux-gnu.tar.xz")
                        (_
                         "/20131110/guile-2.0.9.tar.xz"))))
     
    @@ -346,6 +361,8 @@ or false to signal an error."
          (base32 "0fzp93lvi0hn54acc0fpvhc7bvl0yc853k62l958cihk03q80ilr"))
         ("armhf-linux"
          (base32 "1mi3brl7l58aww34rawhvja84xc7l1b4hmwdmc36fp9q9mfx0lg5"))
    +    ("powerpc64le-linux"
    +     (base32 "1rnyfz5q38jyvxddj617443bnnzql4vw0mxzqpj8wz48wx4bhbq0"))
         ("aarch64-linux"
          (base32 "1giy2aprjmn5fp9c4s9r125fljw4wv6ixy5739i5bffw4jgr0f9r"))
         ("i586-gnu"
    @@ -479,6 +496,8 @@ $out/bin/guile --version~%"
                                                  "/20150101/static-binaries.tar.xz")
                                                 ("aarch64-linux"
                                                  "/20170217/static-binaries.tar.xz")
    +                                            ("powerpc64le-linux"
    +                                             "/20210106/static-binaries-0-powerpc64le-linux-gnu.tar.xz")
                                                 ("i586-gnu"
                                                  "/20200326/static-binaries-0-i586-pc-gnu.tar.xz")
                                                 (_
    @@ -498,6 +517,9 @@ $out/bin/guile --version~%"
                                   ("aarch64-linux"
                                    (base32
                                     "18dfiq6c6xhsdpbidigw6480wh0vdgsxqq3xindq4lpdgqlccpfh"))
    +                              ("powerpc64le-linux"
    +                               (base32
    +                                "0afs2j9z2d1hjq42myz4iwjh0aqgzf59inifw87x6b6p1z9wv92v"))
                                   ("i586-gnu"
                                    (base32
                                     "17kllqnf3fg79gzy9ansgi801c46yh9c23h4d923plvb0nfm1cfn"))
    @@ -547,6 +569,8 @@ $out/bin/guile --version~%"
                                                  "/20150101/binutils-2.25.tar.xz")
                                                 ("aarch64-linux"
                                                  "/20170217/binutils-2.27.tar.xz")
    +                                            ("powerpc64le-linux"
    +                                             "/20210106/binutils-static-stripped-2.34-powerpc64le-linux-gnu.tar.xz")
                                                 ("i586-gnu"
                                                  "/20200326/binutils-static-stripped-2.34-i586-pc-gnu.tar.xz")
                                                 (_
    @@ -566,6 +590,9 @@ $out/bin/guile --version~%"
                                   ("aarch64-linux"
                                    (base32
                                     "111s7ilfiby033rczc71797xrmaa3qlv179wdvsaq132pd51xv3n"))
    +                              ("powerpc64le-linux"
    +                               (base32
    +                                "1klxy945c61134mzhqzz2gbk8w0n8jq7arwkrvz78d22ff2q0cwz"))
                                   ("i586-gnu"
                                    (base32
                                     "11kykv1kmqc5wln57rs4klaqa13hm952smkc57qcsyss21kfjprs"))
    @@ -622,6 +649,8 @@ $out/bin/guile --version~%"
                                            "/20150101/glibc-2.20.tar.xz")
                                           ("aarch64-linux"
                                            "/20170217/glibc-2.25.tar.xz")
    +                                      ("powerpc64le-linux"
    +                                       "/20210106/glibc-stripped-2.31-powerpc64le-linux-gnu.tar.xz")
                                           ("i586-gnu"
                                            "/20200326/glibc-stripped-2.31-i586-pc-gnu.tar.xz")
                                           (_
    @@ -641,6 +670,9 @@ $out/bin/guile --version~%"
                             ("aarch64-linux"
                              (base32
                               "07nx3x8598i2924rjnlrncg6rm61c9bmcczbbcpbx0fb742nvv5c"))
    +                        ("powerpc64le-linux"
    +                         (base32
    +                          "1a1df6z8gkaq09md3jy94lixnh20599p58p0s856p10xwjaqr1iz"))
                             ("i586-gnu"
                              (base32
                               "14ddm10lpbas8bankmn5bcrlqvz1v5dnn1qjzxb19r57vd2w5952"))
    @@ -713,6 +745,8 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
                                             "/20150101/gcc-4.8.4.tar.xz")
                                            ("aarch64-linux"
                                             "/20170217/gcc-5.4.0.tar.xz")
    +                                       ("powerpc64le-linux"
    +                                        "/20210106/gcc-stripped-5.5.0-powerpc64le-linux-gnu.tar.xz")
                                            ("i586-gnu"
                                             "/20200326/gcc-stripped-5.5.0-i586-pc-gnu.tar.xz")
                                            (_
    @@ -732,6 +766,9 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
                              ("aarch64-linux"
                               (base32
                                "1ar3vdzyqbfm0z36kmvazvfswxhcihlacl2dzdjgiq25cqnq9ih1"))
    +                         ("powerpc64le-linux"
    +                          (base32
    +                           "151kjsai25vz2s667bgzpisx8f281fpl3n9pxz2yrp9jlnadz3m1"))
                              ("i586-gnu"
                               (base32
                                "1j2zc58wzil71a34h7c70sd68dmqvcscrw3rmn2whq79vd70zvv5"))
    
    From fc7cf0c1ecc1ab6d59bab0040be917d5900d98f1 Mon Sep 17 00:00:00 2001
    From: Chris Marusich 
    Date: Tue, 2 Feb 2021 00:00:57 -0800
    Subject: [PATCH 0987/1003] utils: Add target-powerpc? procedure.
    
    * guix/utils.scm (target-powerpc?): New exported procedure.
    ---
     guix/utils.scm | 6 ++++++
     1 file changed, 6 insertions(+)
    
    diff --git a/guix/utils.scm b/guix/utils.scm
    index 21e3460b2c..fc57620319 100644
    --- a/guix/utils.scm
    +++ b/guix/utils.scm
    @@ -9,6 +9,7 @@
     ;;; Copyright © 2018, 2020 Marius Bakke 
     ;;; Copyright © 2020 Efraim Flashner 
     ;;; Copyright © 2021 Simon Tournier 
    +;;; Copyright © 2021 Chris Marusich 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -79,6 +80,7 @@
                 target-arm32?
                 target-aarch64?
                 target-arm?
    +            target-powerpc?
                 target-64bit?
                 cc-for-target
                 cxx-for-target
    @@ -541,6 +543,10 @@ a character other than '@'."
                                                  (%current-system))))
       (or (target-arm32? target) (target-aarch64? target)))
     
    +(define* (target-powerpc? #:optional (target (or (%current-target-system)
    +                                                 (%current-system))))
    +  (string-prefix? "powerpc" target))
    +
     (define* (target-64bit? #:optional (system (or (%current-target-system)
                                                    (%current-system))))
       (any (cut string-prefix? <> system) '("x86_64" "aarch64" "mips64" "ppc64")))
    
    From cac88b28b836e714b7b7e4c41b5e36a12df58925 Mon Sep 17 00:00:00 2001
    From: Chris Marusich 
    Date: Sat, 6 Feb 2021 16:29:40 -0800
    Subject: [PATCH 0988/1003] gnu: gcc-4.7: On powerpc64le, fix /lib64
     references.
    
    Fixes: .
    
    * gnu/packages/gcc.scm (gcc-4.7)[#:phases][pre-configure]: When the
    gcc/config/rs6000 directory exists, replace "/lib64" with "/lib" in all files
    within it.  Note that this fix will be picked up by any package that re-uses
    the pre-configure phase from gcc-4.7 (e.g., all the usual gcc packages).
    (make-libstdc++)[#:phases][fix-rs6000-libdir]: New phase, which does the same
    as above.  It was necessary to duplicate the fix here because make-libstdc++
    does not re-use the pre-configure phase from gcc-4.7.
    ---
     gnu/packages/gcc.scm | 38 +++++++++++++++++++++++++++++++-------
     1 file changed, 31 insertions(+), 7 deletions(-)
    
    diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
    index 4d5aaa7070..3ea8695cf1 100644
    --- a/gnu/packages/gcc.scm
    +++ b/gnu/packages/gcc.scm
    @@ -3,13 +3,14 @@
     ;;; Copyright © 2014, 2015, 2018 Mark H Weaver 
     ;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ricardo Wurmus 
     ;;; Copyright © 2015 Andreas Enge 
    -;;; Copyright © 2015, 2016, 2017, 2018, 2020 Efraim Flashner 
    +;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021 Efraim Flashner 
     ;;; Copyright © 2016 Carlos Sánchez de La Lama 
     ;;; Copyright © 2018 Tobias Geerinckx-Rice 
     ;;; Copyright © 2018, 2020 Marius Bakke 
     ;;; Copyright © 2020 Joseph LaFreniere 
     ;;; Copyright © 2020 Guy Fleury Iteriteka 
     ;;; Copyright © 2020 Simon Tournier 
    +;;; Copyright © 2021 Chris Marusich 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -273,6 +274,14 @@ where the OS part is overloaded to denote a specific ABI---into GCC
     ~a"
                                    libc line))))
     
    +                  ;; TODO: Make this unconditional in core-updates.
    +                  ,@(if (target-powerpc?)
    +                      `((when (file-exists? "gcc/config/rs6000")
    +                          ;; Force powerpc libdir to be /lib and not /lib64
    +                          (substitute* (find-files "gcc/config/rs6000")
    +                            (("/lib64") "/lib"))))
    +                      `())
    +
                       ;; Don't retain a dependency on the build-time sed.
                       (substitute* "fixincludes/fixincl.x"
                         (("static char const sed_cmd_z\\[\\] =.*;")
    @@ -598,12 +607,27 @@ using compilers other than GCC."
         (name "libstdc++")
         (arguments
          `(#:out-of-source? #t
    -       #:phases (alist-cons-before
    -                 'configure 'chdir
    -                 (lambda _
    -                   (chdir "libstdc++-v3")
    -                   #t)
    -                 %standard-phases)
    +       #:phases
    +       ;; TODO: Use the target-powerpc arm for everyone.
    +        ,(if (target-powerpc?)
    +           `(modify-phases %standard-phases
    +              ;; Force rs6000 (i.e., powerpc) libdir to be /lib and not /lib64.
    +              (add-before 'chdir 'fix-rs6000-libdir
    +                (lambda _
    +                  (when (file-exists? "gcc/config/rs6000")
    +                    (substitute* (find-files "gcc/config/rs6000")
    +                      (("/lib64") "/lib")))
    +                  #t))
    +              (add-before 'configure 'chdir
    +                (lambda _
    +                  (chdir "libstdc++-v3")
    +                  #t)))
    +           `(alist-cons-before 'configure 'chdir
    +              (lambda _
    +                (chdir "libstdc++-v3")
    +                #t)
    +              %standard-phases))
    +
            #:configure-flags `("--disable-libstdcxx-pch"
                                ,(string-append "--with-gxx-include-dir="
                                                (assoc-ref %outputs "out")
    
    From 6e98e9ca9237eb6a9830e9c65006a3ca534c94d0 Mon Sep 17 00:00:00 2001
    From: Leo Le Bouter 
    Date: Sat, 6 Feb 2021 20:02:31 +0100
    Subject: [PATCH 0989/1003] gnu: glibc: Fix ldd path on powerpc*.
    
    This should avoid some problems, such as "not a dynamic executable" errors.
    
    * gnu/packages/patches/glibc-ldd-powerpc.patch: New patch.
    * gnu/local.mk (dist_patch_DATA): Register it.
    * gnu/packages/base.scm: (glibc)[native-inputs]: Add it.
    [arguments]: When building for powerpc* apply it.
    * gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash,
    glibc-final)[native-inputs]: Add patch conditionally.
    
    This patch has been adjusted to apply to master.
    
    Signed-off-by: Chris Marusich 
    Signed-off-by: Efraim Flashner 
    ---
     gnu/local.mk                                 |  1 +
     gnu/packages/base.scm                        | 16 +++++++++++++++-
     gnu/packages/commencement.scm                | 10 +++++++++-
     gnu/packages/patches/glibc-ldd-powerpc.patch | 10 ++++++++++
     4 files changed, 35 insertions(+), 2 deletions(-)
     create mode 100644 gnu/packages/patches/glibc-ldd-powerpc.patch
    
    diff --git a/gnu/local.mk b/gnu/local.mk
    index 7891c58dfa..14d228cfa4 100644
    --- a/gnu/local.mk
    +++ b/gnu/local.mk
    @@ -1121,6 +1121,7 @@ dist_patch_DATA =						\
       %D%/packages/patches/glibc-hurd-mach-print.patch		\
       %D%/packages/patches/glibc-hurd-magic-pid.patch		\
       %D%/packages/patches/glibc-hurd-signal-sa-siginfo.patch	\
    +  %D%/packages/patches/glibc-ldd-powerpc.patch			\
       %D%/packages/patches/glibc-ldd-x86_64.patch			\
       %D%/packages/patches/glibc-locales.patch			\
       %D%/packages/patches/glibc-locales-2.28.patch			\
    diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
    index 9aa69cfe77..7c5ac61f01 100644
    --- a/gnu/packages/base.scm
    +++ b/gnu/packages/base.scm
    @@ -5,7 +5,7 @@
     ;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver 
     ;;; Copyright © 2014 Alex Kost 
     ;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis 
    -;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner 
    +;;; Copyright © 2016, 2017, 2019, 2020, 2021 Efraim Flashner 
     ;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen 
     ;;; Copyright © 2016, 2018 Alex Vong 
     ;;; Copyright © 2017 Rene Saavedra 
    @@ -15,6 +15,8 @@
     ;;; Copyright © 2018 Tobias Geerinckx-Rice 
     ;;; Copyright © 2018, 2019 Ricardo Wurmus 
     ;;; Copyright © 2020 Vitaliy Shatrov 
    +;;; Copyright © 2020 Chris Marusich 
    +;;; Copyright © 2021 Leo Le Bouter 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -890,6 +892,14 @@ the store.")
                                                   files)))
                            #t)))
     
    +                 ,@(if (target-powerpc?)
    +                     '((add-after 'unpack 'apply-patch
    +                         (lambda* (#:key inputs #:allow-other-keys)
    +                           (let ((patch (assoc-ref inputs
    +                                                   "powerpc64le-patch")))
    +                             (invoke "patch" "--force" "-p1"
    +                                     "-i" patch)))))
    +                     '())
                      ,@(if (hurd-target?)
                            '((add-after 'install 'augment-libc.so
                                (lambda* (#:key outputs #:allow-other-keys)
    @@ -911,6 +921,10 @@ the store.")
                         ("gettext" ,gettext-minimal)
                         ("python" ,python-minimal)
     
    +                    ,@(if (target-powerpc?)
    +                        `(("powerpc64le-patch" ,@(search-patches
    +                                                   "glibc-ldd-powerpc.patch")))
    +                        '())
                         ,@(if (hurd-target?)
                               `(("mig" ,mig)
                                 ("perl" ,perl))
    diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
    index 432910d7a3..93b0c50882 100644
    --- a/gnu/packages/commencement.scm
    +++ b/gnu/packages/commencement.scm
    @@ -3313,7 +3313,11 @@ memoized as a function of '%current-system'."
          `(("bison" ,bison-boot0)
            ("texinfo" ,texinfo-boot0)
            ("perl" ,perl-boot0)
    -       ("python" ,python-boot0)))
    +       ("python" ,python-boot0)
    +       ,@(if (target-powerpc?)
    +           `(("powerpc64le-patch" ,@(search-patches
    +                                      "glibc-ldd-powerpc.patch")))
    +           '())))
         (inputs
          `( ;; The boot inputs.  That includes the bootstrap libc.  We don't want
            ;; it in $CPATH, hence the 'pre-configure' phase above.
    @@ -3464,6 +3468,10 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
     
        ;; This time we need 'msgfmt' to install all the libc.mo files.
        (native-inputs `(,@(package-native-inputs glibc-final-with-bootstrap-bash)
    +                     ,@(if (target-powerpc?)
    +                         `(("powerpc64le-patch" ,@(search-patches
    +                                                    "glibc-ldd-powerpc.patch")))
    +                         '())
                         ("gettext" ,gettext-boot0)))
     
        (propagated-inputs
    diff --git a/gnu/packages/patches/glibc-ldd-powerpc.patch b/gnu/packages/patches/glibc-ldd-powerpc.patch
    new file mode 100644
    index 0000000000..8e899ee99b
    --- /dev/null
    +++ b/gnu/packages/patches/glibc-ldd-powerpc.patch
    @@ -0,0 +1,10 @@
    +diff -r -U3 a/sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed b/sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed
    +--- a/sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed	1970-01-01 01:00:00.000000000 +0100
    ++++ b/sysdeps/unix/sysv/linux/powerpc/ldd-rewrite.sed	2020-02-29 00:15:41.080000000 +0100
    +@@ -11,5 +11,5 @@
    + # this works for /lib64/ld64.so.x and /lib/ld.so.x as input
    + s_lib64_lib_
    + s_64\.so_\.so_
    +-s_^RTLDLIST=\(.*lib\)\(/[^/]*\)\(\.so\.[0-9.]*\)[[:blank:]]*$_RTLDLIST="\1\2\3 \164\264\3"_
    ++s_^RTLDLIST=\(.*lib\)\(/[^/]*\)\(\.so\.[0-9.]*\)[[:blank:]]*$_RTLDLIST="\1\2\3 \1\264\3"_
    + 
    
    From b2135b5d576573115c1db9bc6b54d52452d44bee Mon Sep 17 00:00:00 2001
    From: Chris Marusich 
    Date: Sun, 31 Jan 2021 18:45:24 -0800
    Subject: [PATCH 0990/1003] gnu: gcc-boot0: Enable 128-bit long double for
     POWER9.
    
    * gnu/packages/commencement.scm (gcc-boot0) [#:configure-flags]: Add
    --with-long-double-128 when the boot triplet is "powerpc64le-guix-linux-gnu",
    instead of "powerpc64le-linux-gnu", which is incorrect.  The actual triplet
    used during bootstrapping is "powerpc64le-guix-linux-gnu".
    ---
     gnu/packages/commencement.scm | 4 +++-
     1 file changed, 3 insertions(+), 1 deletion(-)
    
    diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
    index 93b0c50882..86bc7a602d 100644
    --- a/gnu/packages/commencement.scm
    +++ b/gnu/packages/commencement.scm
    @@ -9,6 +9,7 @@
     ;;; Copyright © 2019, 2020 Marius Bakke 
     ;;; Copyright © 2020 Timothy Sample 
     ;;; Copyright © 2020 Guy Fleury Iteriteka 
    +;;; Copyright © 2021 Chris Marusich 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -2818,7 +2819,8 @@ exec " gcc "/bin/" program
                                "--disable-shared"
                                "--enable-languages=c,c++"
     
    -                           ,@(if (equal? "powerpc64le-linux-gnu" (boot-triplet))
    +                           ;; boot-triplet inserts "guix" in the triplet.
    +                           ,@(if (equal? "powerpc64le-guix-linux-gnu" (boot-triplet))
                                      ;; On POWER9 (little endian) glibc needs the
                                      ;; 128-bit long double type.
                                      '("--with-long-double-128")
    
    From 060478c32c9c548254fe3649426453b50c86a84f Mon Sep 17 00:00:00 2001
    From: Efraim Flashner 
    Date: Sun, 19 Apr 2020 18:55:57 +0300
    Subject: [PATCH 0991/1003] gnu: binutils-final: Provide bash for binary on
     powerpc-linux.
    
    * gnu/packages/commencement.scm (binutils-final)[arguments]: On
    powerpc-linux allow a reference to static-bash-for-glibc.
    [inputs]: On powerpc-linux add static-bash-for-glibc.
    ---
     gnu/packages/commencement.scm | 14 ++++++++++++--
     1 file changed, 12 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
    index 86bc7a602d..c0732bbf62 100644
    --- a/gnu/packages/commencement.scm
    +++ b/gnu/packages/commencement.scm
    @@ -3514,9 +3514,19 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
         (arguments
          `(#:guile ,%bootstrap-guile
            #:implicit-inputs? #f
    -       #:allowed-references ("out" ,glibc-final)
    +       #:allowed-references
    +       ,@(match (%current-system)
    +         ("powerpc-linux"
    +          `(("out" ,glibc-final ,static-bash-for-glibc)))
    +         (_
    +          `(("out" ,glibc-final))))
            ,@(package-arguments binutils)))
    -    (inputs (%boot2-inputs))))
    +    (inputs
    +     (match (%current-system)
    +       ("powerpc-linux"
    +        `(("bash" ,static-bash-for-glibc)
    +          ,@(%boot2-inputs)))
    +       (_ (%boot2-inputs))))))
     
     (define libstdc++
       ;; Intermediate libstdc++ that will allow us to build the final GCC
    
    From be4b1cf53bdcdc5d60d21075d668d944c11e0598 Mon Sep 17 00:00:00 2001
    From: Chris Marusich 
    Date: Tue, 2 Feb 2021 00:13:48 -0800
    Subject: [PATCH 0992/1003] gnu: binutils-final: Support more Power
     architectures.
    
    * gnu/packages/commencement.scm (binutils-final)[arguments]: When checking if
    the system is a Power architecture, instead of hard-coding "powerpc-linux",
    use the target-powerpc? procedure so it works on more Power architectures.
    [inputs]: Likewise.
    ---
     gnu/packages/commencement.scm | 4 ++--
     1 file changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
    index c0732bbf62..d4511ed914 100644
    --- a/gnu/packages/commencement.scm
    +++ b/gnu/packages/commencement.scm
    @@ -3516,14 +3516,14 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
            #:implicit-inputs? #f
            #:allowed-references
            ,@(match (%current-system)
    -         ("powerpc-linux"
    +         ((? target-powerpc?)
               `(("out" ,glibc-final ,static-bash-for-glibc)))
              (_
               `(("out" ,glibc-final))))
            ,@(package-arguments binutils)))
         (inputs
          (match (%current-system)
    -       ("powerpc-linux"
    +       ((? target-powerpc?)
             `(("bash" ,static-bash-for-glibc)
               ,@(%boot2-inputs)))
            (_ (%boot2-inputs))))))
    
    From 4cc2d2aa59910fcfd057bdee162bb96989b5a523 Mon Sep 17 00:00:00 2001
    From: Leo Le Bouter 
    Date: Sun, 7 Feb 2021 17:47:32 +0100
    Subject: [PATCH 0993/1003] gnu: bdb-4.8: Fix configure on powerpc64le-linux.
    
    * gnu/packages/dbm.scm (bdb-4.8)[arguments]: Modify 'configure phase to append
    "--build=powerpc64le-unknown-linux-gnu" to configure's flags when compiling for
    powerpc64le-linux.
    
    Signed-off-by: Chris Marusich 
    ---
     gnu/packages/dbm.scm | 6 ++++++
     1 file changed, 6 insertions(+)
    
    diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm
    index 82647c0c28..2dd51efb8c 100644
    --- a/gnu/packages/dbm.scm
    +++ b/gnu/packages/dbm.scm
    @@ -4,6 +4,7 @@
     ;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner 
     ;;; Copyright © 2017, 2018 Marius Bakke 
     ;;; Copyright © 2018 Mark H Weaver 
    +;;; Copyright © 2021 Leo Le Bouter 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -74,6 +75,11 @@
                                  '("--build=aarch64-unknown-linux-gnu")
                                  '())
     
    +                       ;; Bdb doesn't recognize powerpc64le as an architecture.
    +                       ,@(if (string=? "powerpc64le-linux" (%current-system))
    +                             '("--build=powerpc64le-unknown-linux-gnu")
    +                             '())
    +
                            ,@(if (%current-target-system)         ; cross building
                                  '((string-append "--host=" target))
                                  '())
    
    From 69b3907adf6864e5d133797f1dad51d5a974c796 Mon Sep 17 00:00:00 2001
    From: Leo Le Bouter 
    Date: Mon, 8 Feb 2021 01:30:43 +0100
    Subject: [PATCH 0994/1003] gnu: guile-avahi: Fix compilation on
     powerpc64le-linux.
    
    * gnu/packages/guile-xyz.scm (guile-avahi)[arguments]: Parallel builds fail on
    powerpc64le-linux. Set "#:parallel-build?" to "#f".
    
    Signed-off-by: Chris Marusich 
    ---
     gnu/packages/guile-xyz.scm | 4 ++++
     1 file changed, 4 insertions(+)
    
    diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
    index 28e7c798a7..461b9e04bf 100644
    --- a/gnu/packages/guile-xyz.scm
    +++ b/gnu/packages/guile-xyz.scm
    @@ -35,6 +35,7 @@
     ;;; Copyright © 2020, 2021 pukkamustard 
     ;;; Copyright © 2021 Bonface Munyoki Kilyungi 
     ;;; Copyright © 2021 Xinglu Chen 
    +;;; Copyright © 2021 Leo Le Bouter 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -4262,6 +4263,9 @@ errors.")
                                  ,@%gnu-build-system-modules)
              #:make-flags
              '("GUILE_AUTO_COMPILE=0")    ;to prevent guild warnings
    +         ;; Parallel builds fail on powerpc64le-linux.
    +         ;; See https://lists.nongnu.org/archive/html/guile-avahi-bugs/2021-01/msg00000.html
    +         #:parallel-build? #f
              #:phases
              (modify-phases %standard-phases
                (add-before 'check 'fix-guile-avahi-file-name
    
    From e9938dc8f0e081e4407a96502a04ea63f07e5a8c Mon Sep 17 00:00:00 2001
    From: Leo Le Bouter 
    Date: Mon, 8 Feb 2021 03:13:53 +0100
    Subject: [PATCH 0995/1003] gnu: texlive-bin: Fix compilation on powerpc64le*.
    
    * gnu/packages/tex.scm (texlive-bin)[arguments]: Append "--disable-luajittex"
    and "--disable-mfluajit" to keyword argument "#:configure-flags" on
    powerpc64le* because LuaJIT is not ported to powerpc64le* yet. Also set
    "#:tests?" to "#f" on powerpc64le*.
    
    Signed-off-by: Chris Marusich 
    ---
     gnu/packages/tex.scm | 18 ++++++++++++++----
     1 file changed, 14 insertions(+), 4 deletions(-)
    
    diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
    index c0f4ff0fcd..508537acda 100644
    --- a/gnu/packages/tex.scm
    +++ b/gnu/packages/tex.scm
    @@ -15,6 +15,7 @@
     ;;; Copyright © 2020 Vincent Legoll 
     ;;; Copyright © 2020, 2021 Paul Garlick 
     ;;; Copyright © 2021 Maxim Cournoyer 
    +;;; Copyright © 2021 Leo Le Bouter 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -342,14 +343,23 @@ files from LOCATIONS with expected checksum HASH.  CODE is not currently in use.
              "--with-system-teckit"
              "--with-system-xpdf"
              "--with-system-zlib"
    -         "--with-system-zziplib")
    +         "--with-system-zziplib"
    +         ;; LuaJIT is not ported to powerpc64le* yet.
    +         ,@(if (string-prefix? "powerpc64le" (or (%current-target-system)
    +                                                 (%current-system)))
    +               '("--disable-luajittex"
    +                 "--disable-mfluajit")
    +               '()))
     
    -      ;; Disable tests on mips64/aarch64 to cope with a failure of luajiterr.test.
    -      ;; XXX FIXME fix luajit properly on mips64 and aarch64.
    +      ;; Disable tests on some architectures to cope with a failure of
    +      ;; luajiterr.test.
    +      ;; XXX FIXME fix luajit properly on these architectures.
           #:tests? ,(let ((s (or (%current-target-system)
                                  (%current-system))))
                       (not (or (string-prefix? "aarch64" s)
    -                           (string-prefix? "mips64" s))))
    +                           (string-prefix? "mips64" s)
    +                           (string-prefix? "powerpc64le" s))))
    +
           #:phases
           (modify-phases %standard-phases
             (add-after 'unpack 'configure-ghostscript-executable
    
    From 1a0f4013d33535ed9b8518cfb3ac502f48132fd8 Mon Sep 17 00:00:00 2001
    From: Leo Le Bouter 
    Date: Mon, 8 Feb 2021 04:47:03 +0100
    Subject: [PATCH 0996/1003] gnu: texlive-latex-base: Fix compilation on
     powerpc64le*.
    
    * gnu/packages/tex.scm (texlive-latex-base)[arguments]: LuaJIT is not ported to
    powerpc64le* yet. Update replacement 'build phase to add "luajittex" within the
    "disabled-formats" list on powerpc64le*.
    
    Signed-off-by: Chris Marusich 
    ---
     gnu/packages/tex.scm | 6 +++++-
     1 file changed, 5 insertions(+), 1 deletion(-)
    
    diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
    index 508537acda..86cb1ee455 100644
    --- a/gnu/packages/tex.scm
    +++ b/gnu/packages/tex.scm
    @@ -3,7 +3,7 @@
     ;;; Copyright © 2014 Eric Bavier 
     ;;; Copyright © 2015 Mark H Weaver 
     ;;; Copyright © 2016 Roel Janssen 
    -;;; Copyright © 2016, 2018, 2019, 2020 Efraim Flashner 
    +;;; Copyright © 2016, 2018, 2019, 2020, 2021 Efraim Flashner 
     ;;; Copyright © 2016 Federico Beffa 
     ;;; Copyright © 2016 Thomas Danckaert 
     ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus 
    @@ -2520,6 +2520,10 @@ formats.")
                               "eptex eptex" "ptex ptex" "pdfxmltex pdftex" "platex eptex"
                               "csplain pdftex" "mf mf-nowin" "mex pdftex" "pdfmex pdftex"
                               "luacsplain luatex"
    +                          ,@(if (string-prefix? "powerpc64le"
    +                                                (or (%current-target-system)
    +                                                    (%current-system)))
    +                              '("luajittex") '())
                               "cont-en xetex" "cont-en pdftex" "pdfcsplain xetex"
                               "pdfcsplain pdftex" "pdfcsplain luatex" "cslatex pdftex"
                               "mptopdf pdftex" "uplatex euptex" "jadetex pdftex"
    
    From b50f42680352213beb64c248c1af2f9dcc1612fc Mon Sep 17 00:00:00 2001
    From: Leo Le Bouter 
    Date: Tue, 9 Feb 2021 06:10:02 +0100
    Subject: [PATCH 0997/1003] gnu: libelf: Fix compilation for powerpc64le-linux.
    
    * gnu/packages/elf.scm (libelf)[arguments]: Modify replacement 'configure phase
    to invoke "./configure" with "--host=powerpc64le-unknown-linux-gnu" on
    powerpc64le-linux.
    
    Signed-off-by: Chris Marusich 
    ---
     gnu/packages/elf.scm | 5 +++++
     1 file changed, 5 insertions(+)
    
    diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
    index 2e21cab48d..aab912648b 100644
    --- a/gnu/packages/elf.scm
    +++ b/gnu/packages/elf.scm
    @@ -8,6 +8,7 @@
     ;;; Copyright © 2018, 2020 Marius Bakke 
     ;;; Copyright © 2020 Mark Wielaard 
     ;;; Copyright © 2020 Michael Rohleder 
    +;;; Copyright © 2021 Leo Le Bouter 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -211,6 +212,10 @@ static analysis of the ELF binaries at hand.")
                    (setenv "CONFIG_SHELL" (which "bash"))
                    (invoke "./configure"
                            (string-append "--prefix=" out)
    +                       ,@(if (string=? "powerpc64le-linux"
    +                                       (%current-system))
    +                             '("--host=powerpc64le-unknown-linux-gnu")
    +                             '())
                            ,@(if (string=? "aarch64-linux"
                                            (%current-system))
                                  '("--host=aarch64-unknown-linux-gnu")
    
    From a16eb6c5f97f136b678540ba61f12b2c08e43e13 Mon Sep 17 00:00:00 2001
    From: Chris Marusich 
    Date: Sat, 20 Feb 2021 17:29:58 -0800
    Subject: [PATCH 0998/1003] Add powerpc64le-linux as a supported Guix
     architecture.
    
    This makes powerpc64le-linux a supported architecture for Guix, but not for
    Guix System.
    
    * Makefile.am (SUPPORTED_SYSTEMS): Add an entry for powerpc64le-linux.
    * etc/guix-install.sh (chk_sys_arch): Same.
    * guix/packages.scm (%supported-systems): Same.
    * m4/guix.m4 (GUIX_ASSERT_SUPPORTED_SYSTEM): Same.
    * tests/guix-build.sh (all_systems): Same.
    ---
     Makefile.am         | 4 +++-
     etc/guix-install.sh | 4 ++++
     guix/packages.scm   | 4 +++-
     m4/guix.m4          | 3 ++-
     tests/guix-build.sh | 6 ++++--
     5 files changed, 16 insertions(+), 5 deletions(-)
    
    diff --git a/Makefile.am b/Makefile.am
    index f40d9509be..1c2d45527c 100644
    --- a/Makefile.am
    +++ b/Makefile.am
    @@ -14,6 +14,7 @@
     # Copyright © 2018 Oleg Pykhalov 
     # Copyright © 2018 Alex Vong 
     # Copyright © 2019 Efraim Flashner 
    +# Copyright © 2021 Chris Marusich 
     #
     # This file is part of GNU Guix.
     #
    @@ -799,7 +800,8 @@ SOURCE_TARBALLS =					\
       $(foreach ext,tar.gz,$(PACKAGE_FULL_TARNAME).$(ext))
     
     # Systems supported by Guix.
    -SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux armhf-linux aarch64-linux
    +SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux armhf-linux aarch64-linux \
    +  powerpc64le-linux
     
     # Guix binary tarballs.
     BINARY_TARBALLS =							\
    diff --git a/etc/guix-install.sh b/etc/guix-install.sh
    index 94c04aa646..c84e7b7577 100755
    --- a/etc/guix-install.sh
    +++ b/etc/guix-install.sh
    @@ -8,6 +8,7 @@
     # Copyright © 2020 Simon Tournier 
     # Copyright © 2020 Daniel Brooks 
     # Copyright © 2021 Jakub Kądziołka 
    +# Copyright © 2021 Chris Marusich 
     #
     # This file is part of GNU Guix.
     #
    @@ -187,6 +188,9 @@ chk_sys_arch()
             armv7l)
                 local arch=armhf
                 ;;
    +        ppc64le | powerpc64le)
    +            local arch=powerpc64le
    +            ;;
             *)
                 _err "${ERR}Unsupported CPU type: ${arch}"
                 exit 1
    diff --git a/guix/packages.scm b/guix/packages.scm
    index a057a88c63..55e5e70b8c 100644
    --- a/guix/packages.scm
    +++ b/guix/packages.scm
    @@ -5,6 +5,7 @@
     ;;; Copyright © 2016 Alex Kost 
     ;;; Copyright © 2017, 2019, 2020 Efraim Flashner 
     ;;; Copyright © 2019 Marius Bakke 
    +;;; Copyright © 2021 Chris Marusich 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -345,7 +346,8 @@ name of its URI."
     (define %supported-systems
       ;; This is the list of system types that are supported.  By default, we
       ;; expect all packages to build successfully here.
    -  '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "mips64el-linux" "i586-gnu"))
    +  '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "mips64el-linux" "i586-gnu"
    +    "powerpc64le-linux"))
     
     (define %hurd-systems
       ;; The GNU/Hurd systems for which support is being developed.
    diff --git a/m4/guix.m4 b/m4/guix.m4
    index 90a106add8..05d409a674 100644
    --- a/m4/guix.m4
    +++ b/m4/guix.m4
    @@ -2,6 +2,7 @@ dnl GNU Guix --- Functional package management for GNU
     dnl Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2021 Ludovic Courtès 
     dnl Copyright © 2014 Mark H Weaver 
     dnl Copyright © 2017 Efraim Flashner 
    +dnl Copyright © 2021 Chris Marusich 
     dnl
     dnl This file is part of GNU Guix.
     dnl
    @@ -88,7 +89,7 @@ courageous and port the GNU System distribution to it (see
       # Currently only Linux-based systems are supported, and only on some
       # platforms.
       case "$guix_system" in
    -    x86_64-linux|i686-linux|armhf-linux|aarch64-linux)
    +    x86_64-linux|i686-linux|armhf-linux|aarch64-linux|powerpc64le-linux)
           ;;
         *)
           if test "x$guix_courageous" = "xyes"; then
    diff --git a/tests/guix-build.sh b/tests/guix-build.sh
    index b7602e668c..e20702c521 100644
    --- a/tests/guix-build.sh
    +++ b/tests/guix-build.sh
    @@ -1,6 +1,7 @@
     # GNU Guix --- Functional package management for GNU
     # Copyright © 2012, 2013, 2014, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès 
     # Copyright © 2020 Marius Bakke 
    +# Copyright © 2021 Chris Marusich 
     #
     # This file is part of GNU Guix.
     #
    @@ -61,8 +62,9 @@ guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)'
     test `guix build sed -s x86_64-linux -d | wc -l` = 1
     
     # Passing multiple '-s' flags.
    -all_systems="-s x86_64-linux -s i686-linux -s armhf-linux -s aarch64-linux"
    -test `guix build sed $all_systems -d | sort -u | wc -l` = 4
    +all_systems="-s x86_64-linux -s i686-linux -s armhf-linux -s aarch64-linux \
    +-s powerpc64le-linux"
    +test `guix build sed $all_systems -d | sort -u | wc -l` = 5
     
     # Check there's no weird memoization effect leading to erroneous results.
     # See .
    
    From b57de27d0331198c9cafb09a1cf8a5fa4f691e36 Mon Sep 17 00:00:00 2001
    From: Chris Marusich 
    Date: Sun, 21 Feb 2021 12:17:29 -0800
    Subject: [PATCH 0999/1003] syscalls: Fix clone on powerpc64le-linux.
    
    This makes the clone procedure work correctly and fixes some test failures on
    powerpc64le-linux, including tests/containers.scm.
    
    * guix/build/syscalls.scm (clone): Add an entry for ppc64le.
    ---
     guix/build/syscalls.scm | 1 +
     1 file changed, 1 insertion(+)
    
    diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
    index 4379768f5e..a2c1d80fb1 100644
    --- a/guix/build/syscalls.scm
    +++ b/guix/build/syscalls.scm
    @@ -1021,6 +1021,7 @@ Turning finalization off shuts down the finalization thread as a side effect."
                            ("mips64" 5055)
                            ("armv7l" 120)
                            ("aarch64" 220)
    +                       ("ppc64le" 120)
                            (_ #f))))
         (lambda (flags)
           "Create a new child process by duplicating the current parent process.
    
    From c29bfbfc78ccd9e5c10d38faf3d269eafed12854 Mon Sep 17 00:00:00 2001
    From: Chris Marusich 
    Date: Sun, 21 Feb 2021 16:05:58 -0800
    Subject: [PATCH 1000/1003] syscalls: Fix RNDADDTOENTCNT on powerpc64le-linux.
    
    This fixes the failing test add-to-entropy-count in tests/syscalls.scm on
    powerpc64le-linux.
    
    * guix/build/syscalls.scm (RNDADDTOENTCNT): When %host-type starts with
    "powerpc64le", set this to #x80045201.  Otherwise, set it to #x40045201 as
    before.
    ---
     guix/build/syscalls.scm | 7 ++++++-
     1 file changed, 6 insertions(+), 1 deletion(-)
    
    diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
    index a2c1d80fb1..8886fc0fb9 100644
    --- a/guix/build/syscalls.scm
    +++ b/guix/build/syscalls.scm
    @@ -6,6 +6,7 @@
     ;;; Copyright © 2019 Guillaume Le Vaillant 
     ;;; Copyright © 2020 Julien Lepiller 
     ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen 
    +;;; Copyright © 2021 Chris Marusich 
     ;;;
     ;;; This file is part of GNU Guix.
     ;;;
    @@ -942,7 +943,11 @@ backend device."
     ;;;
     
     ;; From .
    -(define RNDADDTOENTCNT #x40045201)
    +(define RNDADDTOENTCNT
    +  ;; Avoid using %current-system here to avoid depending on host-side code.
    +  (if (string-prefix? "powerpc64le" %host-type)
    +      #x80045201
    +      #x40045201))
     
     (define (add-to-entropy-count port-or-fd n)
       "Add N to the kernel's entropy count (the value that can be read from
    
    From 8d9aece8c499e536d36c97f11fa8a55325ad4db6 Mon Sep 17 00:00:00 2001
    From: Chris Marusich 
    Date: Sun, 21 Feb 2021 19:46:50 -0800
    Subject: [PATCH 1001/1003] ci: %cross-targets: Add powerpc64le-linux-gnu.
    
    * gnu/ci.scm (%cross-targets): Add an entry for powerpc64le-linux-gnu.
    ---
     gnu/ci.scm | 1 +
     1 file changed, 1 insertion(+)
    
    diff --git a/gnu/ci.scm b/gnu/ci.scm
    index 2dcd49ac80..32b7a611fb 100644
    --- a/gnu/ci.scm
    +++ b/gnu/ci.scm
    @@ -156,6 +156,7 @@ SYSTEM."
         "arm-linux-gnueabihf"
         "aarch64-linux-gnu"
         "powerpc-linux-gnu"
    +    "powerpc64le-linux-gnu"
         "riscv64-linux-gnu"
         "i586-pc-gnu"                                 ;aka. GNU/Hurd
         "i686-w64-mingw32"
    
    From 93f21e1a35eec940be754fea0303cc649eacd395 Mon Sep 17 00:00:00 2001
    From: Chris Marusich 
    Date: Sun, 21 Feb 2021 19:48:26 -0800
    Subject: [PATCH 1002/1003] utils: Fix target-64bit? on powerpc64le-linux.
    
    * guix/utils.scm (target-64bit?): Change the string from "ppc64" to
    "powerpc64", which matches Guix system names like "powerpc64le-linux".
    ---
     guix/utils.scm | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/guix/utils.scm b/guix/utils.scm
    index fc57620319..2dd1ddeb8a 100644
    --- a/guix/utils.scm
    +++ b/guix/utils.scm
    @@ -549,7 +549,7 @@ a character other than '@'."
     
     (define* (target-64bit? #:optional (system (or (%current-target-system)
                                                    (%current-system))))
    -  (any (cut string-prefix? <> system) '("x86_64" "aarch64" "mips64" "ppc64")))
    +  (any (cut string-prefix? <> system) '("x86_64" "aarch64" "mips64" "powerpc64")))
     
     (define* (cc-for-target #:optional (target (%current-target-system)))
       (if target
    
    From 65c46e79e0495fe4d32f6f2725d7233fff10fd70 Mon Sep 17 00:00:00 2001
    From: Chris Marusich 
    Date: Tue, 9 Jun 2020 23:35:56 -0700
    Subject: [PATCH 1003/1003] gnu: sed: Make it build on SELinux-enabled kernels.
    
    Fixes: .
    
    * gnu/packages/base.scm (sed)[arguments]: New field.  This adds a
    snippet, equivalent to the patch submitted upstream, which fixes an
    issue that prevents sed from building on SELinux-enabled kernels.
    
    Adjusted by Efraim Flashner to apply to master.
    ---
     gnu/packages/base.scm | 16 ++++++++++++++++
     1 file changed, 16 insertions(+)
    
    diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
    index 7c5ac61f01..f0f9353398 100644
    --- a/gnu/packages/base.scm
    +++ b/gnu/packages/base.scm
    @@ -148,6 +148,22 @@ including, for example, recursive directory searching.")
                  (base32
                   "0alqagh0nliymz23kfjg6g9w3cr086k0sfni56gi8fhzqwa3xksk"))))
        (build-system gnu-build-system)
    +   (arguments
    +    ;; TODO: When merging this into core-updates, keep the version of
    +    ;; this code (with comment!) applied as a snippet.
    +    `(,@(if (string-prefix? "powerpc64le" (or (%current-target-system)
    +                                              (%current-system)))
    +          `(#:phases
    +            (modify-phases %standard-phases
    +              (add-after 'unpack 'allow-building-on-selinux-systems
    +                (lambda _
    +                  (substitute* "Makefile.in"
    +                    (("^  abs_srcdir='\\$\\(abs_srcdir\\)'.*" previous-line)
    +                     (string-append
    +                      previous-line
    +                      "  CONFIG_HEADER='$(CONFIG_HEADER)'\t\t\\\n")))
    +                  #t))))
    +          '())))
        (synopsis "Stream editor")
        (native-inputs
         `(("perl" ,perl)))                            ;for tests