This commit is contained in:
epoberezkin
2023-09-20 13:53:12 +00:00
parent c0f9f010fe
commit 622be4068b
2 changed files with 99 additions and 1 deletions

View File

@@ -756,6 +756,104 @@ window.addEventListener('scroll',changeHeaderBg);
<p>MacOS comes with LibreSSL as default, OpenSSL must be installed to compile SimpleX from source.</p>
<p>OpenSSL can be installed with <code>brew install openssl@1.1</code></p>
<p>You will have to add <code>/opt/homebrew/opt/openssl@1.1/bin</code> to your PATH in order to have things working properly</p>
<h2 id="project-branches" tabindex="-1">Project branches</h2>
<p><strong>In simplex-chat repo</strong></p>
<ul>
<li>
<p><code>stable</code> - stable release of the apps, can be used for updates to the previous stable release (GHC 9.6.2).</p>
</li>
<li>
<p><code>stable-android</code> - used to build stable Android core library with Nix (GHC 8.10.7).</p>
</li>
<li>
<p><code>stable-ios</code> - used to build stable iOS core library with Nix (GHC 8.10.7) this branch should be the same as <code>stable-android</code> except Nix configuration files.</p>
</li>
<li>
<p><code>master</code> - branch for beta version releases (GHC 9.6.2).</p>
</li>
<li>
<p><code>master-android</code> - used to build beta Android core library with Nix (GHC 8.10.7).</p>
</li>
<li>
<p><code>master-ios</code> - used to build beta iOS core library with Nix (GHC 8.10.7) this branch should be the same as <code>master-android</code> except Nix configuration files.</p>
</li>
</ul>
<p><strong>In simplexmq repo</strong></p>
<ul>
<li>
<p><code>master</code> - uses GHC 9.6.2 its commit should be used in <code>master</code> branch of simplex-chat repo.</p>
</li>
<li>
<p><code>master-ghc8107</code> - its commit should be used in <code>master-android</code> (and <code>master-ios</code>) branch of simplex-chat repo.</p>
</li>
</ul>
<h2 id="development-and-release-process" tabindex="-1">Development &amp; release process</h2>
<ol>
<li>
<p>Make PRs to <code>master</code> branch <em>only</em> for both simplex-chat and simplexmq repos.</p>
</li>
<li>
<p>If simplexmq repo was changed, to build mobile core libraries you need to merge its <code>master</code> branch into <code>master-ghc8107</code> branch.</p>
</li>
<li>
<p>To build Android core library:</p>
</li>
</ol>
<ul>
<li>merge <code>master</code> branch to <code>master-android</code> branch.</li>
<li>update code to be compatible with GHC 8.10.7 (see below).</li>
<li>update <code>simplexmq</code> commit in <code>master-android</code> branch to the commit in <code>master-ghc8107</code> branch.</li>
<li>push to GitHub.</li>
</ul>
<ol start="4">
<li>
<p>To build iOS core library, merge <code>master-android</code> branch to <code>master-ios</code> branch, and push to GitHub.</p>
</li>
<li>
<p>To build Desktop and CLI apps, make tag in <code>master</code> branch, APK files should be attached to the release.</p>
</li>
<li>
<p>After the public release to App Store and Play Store, merge:</p>
</li>
</ol>
<ul>
<li><code>master</code> to <code>stable</code></li>
<li><code>master</code> to <code>master-android</code> (and compile/update code)</li>
<li><code>master-android</code> to <code>master-ios</code></li>
<li><code>master-android</code> to <code>stable-android</code></li>
<li><code>master-ios</code> to <code>stable-ios</code></li>
</ul>
<ol start="7">
<li>Independently, <code>master</code> branch of simplexmq repo should be merged to <code>stable</code> branch on stable releases.</li>
</ol>
<h2 id="differences-between-ghc-8107-and-ghc-962" tabindex="-1">Differences between GHC 8.10.7 and GHC 9.6.2</h2>
<ol>
<li>The main difference is related to <code>DuplicateRecordFields</code> extension.</li>
</ol>
<p>It is no longer possible in GHC 9.6.2 to specify type when using selectors, instead OverloadedRecordDot extension and syntax are used that need to be removed in GHC 8.10.7:</p>
<pre><code class="language-haskell">{-# LANGUAGE DuplicateRecordFields #-}
-- use this in GHC 9.6.2 when needed
{-# LANGUAGE OverloadedRecordDot #-}
-- GHC 9.6.2 syntax
let x = record.field
-- GHC 8.10.7 syntax removed in GHC 9.6.2
let x = field (record :: Record)
</code></pre>
<p>It is still possible to specify type when using record update syntax, use this pragma to suppress compiler warning:</p>
<pre><code class="language-haskell">-- use this in GHC 9.6.2 when needed
{-# OPTIONS_GHC -fno-warn-ambiguous-fields #-}
let r' = (record :: Record) {field = value}
</code></pre>
<ol start="2">
<li>Most monad functions now have to be imported from <code>Control.Monad</code>, and not from specific monad modules (e.g. <code>Control.Monad.Except</code>).</li>
</ol>
<pre><code class="language-haskell">-- use this in GHC 9.6.2 when needed
import Control.Monad
</code></pre>
<p><a href="https://github.com/simplex-chat/simplex-chat/pull/2975/files">This PR</a> has all the differences.</p>
</div>
</article>
</main>

View File

@@ -707,7 +707,7 @@ window.addEventListener('scroll',changeHeaderBg);
Maak een privé verbinding
</h2>
<p class="text-center text-black dark:text-white xl:text-justify leading-[24px] text-[16px] mb-10 xl:mb-[25px] header-description">
De video laat zien hoe je verbinding maakt met een vriend via een persoonlijk of video link eenmalige gedeelde QR-code. U kunt ook verbinding maken door een uitnodigingslink te delen.
De video laat zien hoe je verbinding maakt met een vriend via een persoonlijk of videolink gedeelde eenmalige QR-code. U kunt ook verbinding maken door een uitnodigingslink te delen.
</p>
</article>