about summary refs log tree commit diff
path: root/pkgs/applications/science
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2024-05-02 18:01:05 +0000
committerGitHub <noreply@github.com>2024-05-02 18:01:05 +0000
commit31135daf485709c22c7c64f6cddfd436731cb590 (patch)
tree1e1e859b59a4c8948db34d42439b5599fdba6d3e /pkgs/applications/science
parent7e5eff56a35b2d87cb2bd2802a3aea9d0f761d0a (diff)
parent4c704748b3f2dc351cfb7168793edd84837064a6 (diff)
Merge master into staging-next
Diffstat (limited to 'pkgs/applications/science')
-rw-r--r--pkgs/applications/science/electronics/digital/default.nix21
-rw-r--r--pkgs/applications/science/math/sage/patches/linbox-1.7-upgrade.patch58
-rw-r--r--pkgs/applications/science/misc/gplates/boost-placeholders.patch75
-rw-r--r--pkgs/applications/science/misc/graphia/breakpad-sigstksz.patch13
4 files changed, 15 insertions, 152 deletions
diff --git a/pkgs/applications/science/electronics/digital/default.nix b/pkgs/applications/science/electronics/digital/default.nix
index 41deecbb62247..7619e43e80332 100644
--- a/pkgs/applications/science/electronics/digital/default.nix
+++ b/pkgs/applications/science/electronics/digital/default.nix
@@ -3,17 +3,18 @@
 }:
 
 let
+  pname = "digital";
   pkgDescription = "A digital logic designer and circuit simulator.";
   version = "0.30";
   buildDate = "2023-02-03T08:00:56+01:00"; # v0.30 commit date
 
   desktopItem = makeDesktopItem {
     type = "Application";
-    name = "Digital";
-    desktopName = pkgDescription;
+    name = pname;
+    desktopName = "Digital";
     comment = "Easy-to-use digital logic designer and circuit simulator";
-    exec = "digital";
-    icon = "digital";
+    exec = pname;
+    icon = pname;
     categories = [ "Education" "Electronics" ];
     mimeTypes = [ "text/x-digital" ];
     terminal = false;
@@ -28,8 +29,7 @@ let
   mvnParameters = "-Pno-git-rev -Dgit.commit.id.describe=${version} -Dproject.build.outputTimestamp=${buildDate} -DbuildTimestamp=${buildDate}";
 in
 maven.buildMavenPackage rec {
-  pname = "digital";
-  inherit version jre;
+  inherit pname version jre;
 
   src = fetchFromGitHub {
     owner = "hneemann";
@@ -44,6 +44,8 @@ maven.buildMavenPackage rec {
   nativeBuildInputs = [ copyDesktopItems makeWrapper ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     mkdir -p $out/share/java
 
@@ -53,6 +55,13 @@ maven.buildMavenPackage rec {
     makeWrapper ${jre}/bin/java $out/bin/${pname} \
       --add-flags "-classpath $out/share/java/${pname}-${version}.jar:''${classpath#:}" \
       --add-flags "-jar $out/share/java/Digital.jar"
+
+    install -Dm644 src/main/svg/icon.svg $out/share/icons/hicolor/scalable/apps/${pname}.svg
+    for size in 16 32 48 64 128; do
+      install -Dm644 src/main/resources/icons/icon"$size".png $out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png
+    done
+
+    runHook postInstall
   '';
 
   desktopItems = [ desktopItem ];
diff --git a/pkgs/applications/science/math/sage/patches/linbox-1.7-upgrade.patch b/pkgs/applications/science/math/sage/patches/linbox-1.7-upgrade.patch
deleted file mode 100644
index 91e080aa294a0..0000000000000
--- a/pkgs/applications/science/math/sage/patches/linbox-1.7-upgrade.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-diff --git a/src/sage/libs/linbox/conversion.pxd b/src/sage/libs/linbox/conversion.pxd
-index 7794c9edc3..1753277b1f 100644
---- a/src/sage/libs/linbox/conversion.pxd
-+++ b/src/sage/libs/linbox/conversion.pxd
-@@ -177,9 +177,8 @@ cdef inline Vector_integer_dense new_sage_vector_integer_dense(P, DenseVector_in
-     - v -- linbox vector
-     """
-     cdef Vector_integer_dense res = P()
--    cdef cppvector[Integer] * vec = &v.refRep()
-     cdef size_t i
-     for i in range(<size_t> res._degree):
--        mpz_set(res._entries[i], vec[0][i].get_mpz_const())
-+        mpz_set(res._entries[i], v.getEntry(i).get_mpz_const())
- 
-     return res
-diff --git a/src/sage/libs/linbox/linbox.pxd b/src/sage/libs/linbox/linbox.pxd
-index 9112d151f8..dcc482960c 100644
---- a/src/sage/libs/linbox/linbox.pxd
-+++ b/src/sage/libs/linbox/linbox.pxd
-@@ -32,7 +32,7 @@ cdef extern from "linbox/matrix/dense-matrix.h":
-         ctypedef Modular_double Field
-         ctypedef double Element
-         DenseMatrix_Modular_double(Field F, size_t m, size_t n)
--        DenseMatrix_Modular_double(Field F, Element*, size_t m, size_t n)
-+        DenseMatrix_Modular_double(Field F, size_t m, size_t n, Element*)
-         void setEntry(size_t i, size_t j, Element& a)
-         Element &getEntry(size_t i, size_t j)
- 
-@@ -42,7 +42,7 @@ cdef extern from "linbox/matrix/dense-matrix.h":
-         ctypedef Modular_float Field
-         ctypedef float Element
-         DenseMatrix_Modular_float(Field F, size_t m, size_t n)
--        DenseMatrix_Modular_float(Field F, Element*, size_t m, size_t n)
-+        DenseMatrix_Modular_float(Field F, size_t m, size_t n, Element*)
-         void setEntry(size_t i, size_t j, Element& a)
-         Element &getEntry(size_t i, size_t j)
- 
-@@ -101,7 +101,6 @@ cdef extern from "linbox/vector/vector.h":
-         DenseVector_integer (Field &F)
-         DenseVector_integer (Field &F, long& m)
-         DenseVector_integer (Field &F, cppvector[Integer]&)
--        cppvector[Element]& refRep()
-         size_t size()
-         void resize(size_t)
-         void resize(size_t n, const Element&)
-diff --git a/src/sage/matrix/matrix_modn_dense_template.pxi b/src/sage/matrix/matrix_modn_dense_template.pxi
-index 010365d76f..3d60726ff9 100644
---- a/src/sage/matrix/matrix_modn_dense_template.pxi
-+++ b/src/sage/matrix/matrix_modn_dense_template.pxi
-@@ -219,7 +219,7 @@ cdef inline linbox_echelonize_efd(celement modulus, celement* entries, Py_ssize_
-         return 0,[]
- 
-     cdef ModField *F = new ModField(<long>modulus)
--    cdef DenseMatrix *A = new DenseMatrix(F[0], <ModField.Element*>entries,<Py_ssize_t>nrows, <Py_ssize_t>ncols)
-+    cdef DenseMatrix *A = new DenseMatrix(F[0], <Py_ssize_t>nrows, <Py_ssize_t>ncols, <ModField.Element*>entries)
-     cdef Py_ssize_t r = reducedRowEchelonize(A[0])
-     cdef Py_ssize_t i,j
-     for i in range(nrows):
diff --git a/pkgs/applications/science/misc/gplates/boost-placeholders.patch b/pkgs/applications/science/misc/gplates/boost-placeholders.patch
deleted file mode 100644
index 7166b92f646af..0000000000000
--- a/pkgs/applications/science/misc/gplates/boost-placeholders.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-diff --unified --recursive a/src/gui/TopologyTools.cc b/src/gui/TopologyTools.cc
---- a/src/gui/TopologyTools.cc	2021-07-05 05:11:47.000000000 +0200
-+++ b/src/gui/TopologyTools.cc	2022-12-07 22:35:20.444054124 +0100
-@@ -3448,7 +3448,7 @@
- 			std::find_if(
- 					d_visible_boundary_section_seq.begin(),
- 					d_visible_boundary_section_seq.end(),
--					boost::bind(&VisibleSection::d_section_info_index, _1) ==
-+					boost::bind(&VisibleSection::d_section_info_index, boost::placeholders::_1) ==
- 						boost::cref(section_index));
- 
- 	if (visible_section_iter == d_visible_boundary_section_seq.end())
-@@ -3467,7 +3467,7 @@
- 			std::find_if(
- 					d_visible_interior_section_seq.begin(),
- 					d_visible_interior_section_seq.end(),
--					boost::bind(&VisibleSection::d_section_info_index, _1) ==
-+					boost::bind(&VisibleSection::d_section_info_index, boost::placeholders::_1) ==
- 						boost::cref(section_index));
- 
- 	if (visible_section_iter == d_visible_interior_section_seq.end())
-diff --unified --recursive a/src/presentation/ReconstructionGeometryRenderer.cc b/src/presentation/ReconstructionGeometryRenderer.cc
---- a/src/presentation/ReconstructionGeometryRenderer.cc	2021-07-05 05:11:50.000000000 +0200
-+++ b/src/presentation/ReconstructionGeometryRenderer.cc	2022-12-07 22:36:11.117884262 +0100
-@@ -274,7 +274,7 @@
- GPlatesPresentation::ReconstructionGeometryRenderer::RenderParamsPopulator::visit_reconstruct_visual_layer_params(
- 		const ReconstructVisualLayerParams &params)
- {
--	d_render_params.show_vgp = boost::bind(&ReconstructVisualLayerParams::show_vgp, &params, _1, _2);
-+	d_render_params.show_vgp = boost::bind(&ReconstructVisualLayerParams::show_vgp, &params, boost::placeholders::_1, boost::placeholders::_2);
- 	d_render_params.vgp_draw_circular_error = params.get_vgp_draw_circular_error();
- 	d_render_params.fill_polygons = params.get_fill_polygons();
- 	d_render_params.fill_polylines = params.get_fill_polylines();
-diff --unified --recursive a/src/presentation/VisualLayerRegistry.cc b/src/presentation/VisualLayerRegistry.cc
---- a/src/presentation/VisualLayerRegistry.cc	2021-07-05 05:11:50.000000000 +0200
-+++ b/src/presentation/VisualLayerRegistry.cc	2022-12-07 22:38:12.950877614 +0100
-@@ -448,7 +448,7 @@
- 			&GPlatesQtWidgets::ReconstructScalarCoverageLayerOptionsWidget::create,
- 			boost::bind(
- 					&ReconstructScalarCoverageVisualLayerParams::create,
--					_1),
-+					boost::placeholders::_1),
- 			true);
- 
- 	registry.register_visual_layer_type(
-@@ -498,7 +498,7 @@
- 					// NOTE: We pass in ViewState and not the GlobeAndMapWidget, obtained from
- 					// ViewportWindow, because ViewportWindow is not yet available (a reference to
- 					// it not yet been initialised inside ViewState) so accessing it would crash...
--					_1, boost::ref(view_state)),
-+					boost::placeholders::_1, boost::ref(view_state)),
- 			true);
- 
- 	// DERIVED_DATA group.
-@@ -549,7 +549,7 @@
- 			&GPlatesQtWidgets::VelocityFieldCalculatorLayerOptionsWidget::create,
- 			boost::bind(
- 					&VelocityFieldCalculatorVisualLayerParams::create,
--					_1, boost::cref(view_state.get_rendered_geometry_parameters())),
-+					boost::placeholders::_1, boost::cref(view_state.get_rendered_geometry_parameters())),
- 			true);
- 
- 	using namespace  GPlatesUtils;
-diff --unified --recursive a/src/qt-widgets/ViewportWindow.cc b/src/qt-widgets/ViewportWindow.cc
---- a/src/qt-widgets/ViewportWindow.cc	2021-08-05 05:44:01.000000000 +0200
-+++ b/src/qt-widgets/ViewportWindow.cc	2022-12-07 22:39:20.487981302 +0100
-@@ -326,7 +326,7 @@
- 			*d_geometry_operation_state_ptr,
- 			*d_modify_geometry_state,
- 			*d_measure_distance_state_ptr,
--			boost::bind(&canvas_tool_status_message, boost::ref(*this), _1),
-+			boost::bind(&canvas_tool_status_message, boost::ref(*this), boost::placeholders::_1),
- 			get_view_state(),
- 			*this);
- 
diff --git a/pkgs/applications/science/misc/graphia/breakpad-sigstksz.patch b/pkgs/applications/science/misc/graphia/breakpad-sigstksz.patch
deleted file mode 100644
index 6e90faf9f0373..0000000000000
--- a/pkgs/applications/science/misc/graphia/breakpad-sigstksz.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/source/thirdparty/breakpad/src/client/linux/handler/exception_handler.cc b/source/thirdparty/breakpad/src/client/linux/handler/exception_handler.cc
-index ca353c4099..499be0a986 100644
---- a/source/thirdparty/breakpad/src/client/linux/handler/exception_handler.cc
-+++ b/source/thirdparty/breakpad/src/client/linux/handler/exception_handler.cc
-@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() {
-   // SIGSTKSZ may be too small to prevent the signal handlers from overrunning
-   // the alternative stack. Ensure that the size of the alternative stack is
-   // large enough.
--  static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
-+  const unsigned kSigStackSize = std::max<unsigned>(16384, SIGSTKSZ);
- 
-   // Only set an alternative stack if there isn't already one, or if the current
-   // one is too small.