Unverified Commit 5d96240a authored by Will Fancher's avatar Will Fancher Committed by GitHub
Browse files

calamares: 3.4.0 -> 3.4.2, make it actually work again (#498643)

parents 0955da47 08677f6e
Loading
Loading
Loading
Loading
+7 −26
Original line number Diff line number Diff line
{
  lib,
  runCommand,
  makeWrapper,
  calamares,
  calamares-nixos-extensions,
}:
runCommand "calamares-wrapped"
  {
    inherit (calamares) pname version meta;

    nativeBuildInputs = [ makeWrapper ];
calamares.override {
  extraWrapperArgs = [
    "--prefix XDG_DATA_DIRS : ${calamares-nixos-extensions}/share"
    "--prefix XDG_CONFIG_DIRS : ${calamares-nixos-extensions}/etc"
    "--add-flag --xdg-config"
  ];
}
  ''
    mkdir -p $out/bin

    cd ${calamares}

    for i in *; do
      if [ "$i" == "bin" ]; then
        continue
      fi
      ln -s ${calamares}/$i $out/$i
    done

    makeWrapper ${lib.getExe calamares} $out/bin/calamares \
      --prefix XDG_DATA_DIRS : ${calamares-nixos-extensions}/share \
      --prefix XDG_CONFIG_DIRS : ${calamares-nixos-extensions}/etc \
      --add-flag --xdg-config
  ''
+0 −33
Original line number Diff line number Diff line
diff --git a/src/libcalamares/GlobalStorage.h b/src/libcalamares/GlobalStorage.h
index 37ea332d2..b9e629350 100644
--- a/src/libcalamares/GlobalStorage.h
+++ b/src/libcalamares/GlobalStorage.h
@@ -56,13 +56,6 @@ public:
      */
     explicit GlobalStorage( QObject* parent = nullptr );
 
-    /** @brief Insert a key and value into the store
-     *
-     * The @p value is added to the store with key @p key. If @p key
-     * already exists in the store, its existing value is overwritten.
-     * The changed() signal is emitted regardless.
-     */
-    void insert( const QString& key, const QVariant& value );
     /** @brief Removes a key and its value
      *
      * The @p key is removed from the store. If the @p key does not
@@ -123,6 +116,14 @@ public:
     QVariantMap data() const { return m; }
 
 public Q_SLOTS:
+    /** @brief Insert a key and value into the store
+     *
+     * The @p value is added to the store with key @p key. If @p key
+     * already exists in the store, its existing value is overwritten.
+     * The changed() signal is emitted regardless.
+     */
+    void insert( const QString& key, const QVariant& value );
+
     /** @brief Does the store contain the given key?
      *
      * This can distinguish an explicitly-inserted QVariant() from
+7 −10
Original line number Diff line number Diff line
@@ -23,6 +23,8 @@
  os-prober,
  xkeyboard_config,

  extraWrapperArgs ? [ ],

  # passthru.tests
  calamares-nixos,
}:
@@ -36,13 +38,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
  pname = "calamares";
  version = "3.4.0";
  version = "3.4.2";

  src = fetchFromCodeberg {
    owner = "Calamares";
    repo = "calamares";
    tag = "v${finalAttrs.version}";
    hash = "sha256-Qk+GnonuEWK3hXjmwxf9awgxr6dGunShJgwmkT78qKM=";
    hash = "sha256-/foh3NKXTaNmP+x18t+GeAz7qv4e/TyspSEln8mMH4I=";
  };

  patches = [
@@ -53,10 +55,6 @@ stdenv.mkDerivation (finalAttrs: {
    # Don't create users - they're already created by the installer
    # FIXME: upstream this?
    ./dont-create-users.patch

    # Allow QML to write to GlobalStorage
    # FIXME: upstream this
    ./let-qml-write-to-global-storage.patch
  ];

  nativeBuildInputs = [
@@ -84,10 +82,8 @@ stdenv.mkDerivation (finalAttrs: {
  ];

  postPatch = ''
    # this is called via pkexec, which does not resolve symlinks, so the policy
    # needs to point at the symlinked path
    substituteInPlace io.calamares.calamares.policy \
      --replace-fail /usr/bin/calamares /run/current-system/sw/bin/calamares
      --replace-fail /usr/bin/calamares $out/bin/calamares

    substituteInPlace src/modules/locale/SetTimezoneJob.cpp src/libcalamares/locale/TimeZone.cpp \
      --replace-fail /usr/share/zoneinfo ${tzdata}/share/zoneinfo
@@ -110,7 +106,8 @@ stdenv.mkDerivation (finalAttrs: {
        xdg-open-nixos
      ]
    }"
  ];
  ]
  ++ extraWrapperArgs;

  passthru.tests = {
    inherit calamares-nixos;