mirror of
https://github.com/m2049r/xmrwallet
synced 2025-09-02 15:53:04 +02:00
Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
bd2c49669a | ||
![]() |
ac7831d0f9 | ||
![]() |
0f0b9a38c7 | ||
![]() |
807db19603 | ||
![]() |
c956f38899 | ||
![]() |
db68f517d3 | ||
![]() |
d4b293af80 | ||
![]() |
f7bbfc2fac | ||
![]() |
e08964749e | ||
![]() |
a05fa9d177 | ||
![]() |
7fe2fbe37d | ||
![]() |
40e30fed08 | ||
![]() |
320c7865ff | ||
![]() |
5e8cf8010e | ||
![]() |
e671fa19e0 | ||
![]() |
20d5b9a100 |
@@ -121,7 +121,7 @@ set_target_properties(easylogging PROPERTIES IMPORTED_LOCATION
|
||||
|
||||
add_library(unbound STATIC IMPORTED)
|
||||
set_target_properties(unbound PROPERTIES IMPORTED_LOCATION
|
||||
${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/monero/libunbound.a)
|
||||
${EXTERNAL_LIBS_DIR}/${ANDROID_ABI}/libunbound.a)
|
||||
|
||||
add_library(epee STATIC IMPORTED)
|
||||
set_target_properties(epee PROPERTIES IMPORTED_LOCATION
|
||||
|
@@ -8,8 +8,8 @@ android {
|
||||
applicationId "com.m2049r.xmrwallet"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 31
|
||||
versionCode 1402
|
||||
versionName "2.4.2 'Baldaŭ'"
|
||||
versionCode 3000
|
||||
versionName "3.0.0 'Fluorine Fermi'"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
@@ -72,7 +72,7 @@ android {
|
||||
abi {
|
||||
enable true
|
||||
reset()
|
||||
include 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
|
||||
include 'armeabi-v7a', 'arm64-v8a'
|
||||
universalApk true
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -916,9 +916,9 @@ public class LoginActivity extends BaseActivity
|
||||
@Override
|
||||
public boolean createWallet(File aFile, String password) {
|
||||
NodeInfo currentNode = getNode();
|
||||
// get it from the connected node if we have one, and go back ca. 4 days
|
||||
// get it from the connected node if we have one
|
||||
final long restoreHeight =
|
||||
(currentNode != null) ? currentNode.getHeight() - 2000 : -1;
|
||||
(currentNode != null) ? currentNode.getHeight() : -1;
|
||||
Wallet newWallet = WalletManager.getInstance()
|
||||
.createWallet(aFile, password, MNEMONIC_LANGUAGE, restoreHeight);
|
||||
return checkAndCloseWallet(newWallet);
|
||||
|
@@ -24,6 +24,7 @@ import com.m2049r.xmrwallet.util.RestoreHeight;
|
||||
import java.io.File;
|
||||
import java.io.FilenameFilter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@@ -96,8 +97,11 @@ public class WalletManager {
|
||||
if (wallet.getStatus().isOk()) {
|
||||
// (Re-)Estimate restore height based on what we know
|
||||
final long oldHeight = wallet.getRestoreHeight();
|
||||
// Go back 4 days if we don't have a precise restore height
|
||||
Calendar restoreDate = Calendar.getInstance();
|
||||
restoreDate.add(Calendar.DAY_OF_MONTH, -4);
|
||||
final long restoreHeight =
|
||||
(height > -1) ? height : RestoreHeight.getInstance().getHeight(new Date());
|
||||
(height > -1) ? height : RestoreHeight.getInstance().getHeight(restoreDate.getTime());
|
||||
wallet.setRestoreHeight(restoreHeight);
|
||||
Timber.d("Changed Restore Height from %d to %d", oldHeight, wallet.getRestoreHeight());
|
||||
wallet.setPassword(password); // this rewrites the keys file (which contains the restore height)
|
||||
|
@@ -45,7 +45,7 @@
|
||||
android:id="@+id/rlSweep"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:visibility="visible">
|
||||
android:visibility="gone">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivSweep"
|
||||
|
59
app/src/main/res/values-fa/about.xml
Normal file
59
app/src/main/res/values-fa/about.xml
Normal file
@@ -0,0 +1,59 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools" tools:locale="en">
|
||||
<string name="about_close">بستن</string>
|
||||
<string name="about_whoami">من مونروجو هستم</string>
|
||||
<string name="about_version">
|
||||
نسخهٔ
|
||||
%1$s (%2$d)
|
||||
</string>
|
||||
|
||||
<string name="credits_text"><![CDATA[
|
||||
<b>دست اندرکاران</b>
|
||||
<br/>
|
||||
m2049r, baltsar777, anhdres, keejef,
|
||||
rehrar, EarlOfEgo, ErCiccione et al.
|
||||
<br/><br/>
|
||||
<a href="https://monerujo.app">monerujo.app</a>
|
||||
]]></string>
|
||||
|
||||
<string name="privacy_policy"><![CDATA[
|
||||
<h1>خطمشی رازداری</h1>
|
||||
<p>این صفحه شما را از سیاستهای ما در مورد جمعآوری، استفاده و افشای اطلاعات شخصی که از کاربران برنامهٔ خود (مونروجو به معنای «کیفپول مونرو») دریافت میکنیم مطلع میکند.</p>
|
||||
<p>با استفاده از برنامه، با جمعآوری و استفاده از اطلاعات، مطابق با این سیاست، موافقت میکنید.</p>
|
||||
<h2>دادههای جمعآوری شده</h2>
|
||||
<p>دادههای شخصی هر نوع دادهای است که بتواند یک فرد را شناسایی کند.</p>
|
||||
<p>کلیدها و آدرسهای عمومی مونرو توسط برنامه به صورت داخلی برای پردازش تراکنشها جمعآوری و پردازش میشوند و به شکل رمزگذاری شده به شبکه مونرو منتقل می شوند.</p>
|
||||
<p>سایر اطلاعات شخصی توسط برنامه جمعآوری نمیشوند.</p>
|
||||
<p>
|
||||
اگر از قابلیت اختیاری تبدیل رمزارز استفاده کنید، این برنامه نرخ ارز را از طریق API عمومی coinmarketcap.com دریافت میکند. برای اطلاع از جزئیات نحوهٔ جمعآوری دادههای درخواستهایتان، خطمشی رازداری آنها را در
|
||||
<a href="https://coinmarketcap.com/privacy">coinmarketcap.com/privacy</a>
|
||||
ببینید.
|
||||
</p>
|
||||
<p>
|
||||
اگر از برنامه برای پرداخت به آدرسهای بیتکوین استفاده میکنید، از سرویس SideShift.ai استفاده خواهید کرد. برای جزئیات بیشتر به خطمشی رازداری آنها در
|
||||
<a href="https://sideshift.ai">sideshift.ai</a>
|
||||
مراجعه کنید. مونروجو مقدار و آدرس مقصد بیتکوین را برای آنها ارسال میکند. آدرس IP شما نیز قابل جمعآوری خواهد بود.
|
||||
</p>
|
||||
<h2>دسترسیهای نرمافزار</h2>
|
||||
<ul>
|
||||
<li>اینترنت: اتصال به شبکهٔ مونرو</li>
|
||||
<li>خوانش حافظهٔ خارجی: خواندن فایلهای کیفپول ذخیره شده برروی دستگاه</li>
|
||||
<li>نوشتار حافظهٔ خارجی: نوشتن فایلهای کیفپول ذخیره شده برروی دستگاه</li>
|
||||
<li>قفل بیداری: بیدار نگه داشتن دستگاه در هنگام همگامسازی</li>
|
||||
<li>دوربین: اسکن کدهای کیوآر برای ارسال مونرو</li>
|
||||
</ul>
|
||||
<h2>تغییرات در این خطمشی رازداری</h2>
|
||||
<p>
|
||||
ممکن است هرازچندگاهی این خطمشی رازداری را بهروز کنیم. ما با ارسال خطمشی رازداری جدید در برنامه و وبسایت
|
||||
<a href="https://monerujo.app">(www.monerujo.app)</a>
|
||||
شما را از هرگونه تغییر مطلع خواهیم کرد. به شما توصیه میشود برای هرگونه تغییر، این خطمشی رازداری را به صورت دورهای مرور کنید.
|
||||
</p>
|
||||
<p>آخرین بهروزرسانی این خطمشی رازداری: 10 نوامبر 2017</p>
|
||||
<h2>تماس با ما</h2>
|
||||
<p>
|
||||
اگر در مورد خطمشی رازداری ما یا نحوهٔ جمعآوری و پردازش دادههای خود سؤالی دارید، لطفا به
|
||||
<a href="mailto:privacy@monerujo.io">privacy@monerujo.io</a>
|
||||
ایمیل بزنید.
|
||||
</p>
|
||||
]]></string>
|
||||
</resources>
|
425
app/src/main/res/values-fa/help.xml
Normal file
425
app/src/main/res/values-fa/help.xml
Normal file
File diff suppressed because it is too large
Load Diff
703
app/src/main/res/values-fa/strings.xml
Normal file
703
app/src/main/res/values-fa/strings.xml
Normal file
File diff suppressed because it is too large
Load Diff
55
app/src/main/res/values-ta/about.xml
Normal file
55
app/src/main/res/values-ta/about.xml
Normal file
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="about_close">மூடு</string>
|
||||
<string name="about_whoami">நான் monerujo</string>
|
||||
<string name="about_version">பதிப்பு %1$s (%2$d)</string>
|
||||
|
||||
<string name="credits_text"><![CDATA[
|
||||
<b>நன்றி</b>
|
||||
<br/>
|
||||
m2049r, baltsar777, anhdres, keejef,
|
||||
rehrar, EarlOfEgo, ErCiccione et al.
|
||||
<br/><br/>
|
||||
<a href="https://monerujo.io/">monerujo.io</a>
|
||||
]]></string>
|
||||
|
||||
<string name="privacy_policy"><![CDATA[
|
||||
<h1>தனியுரிமை கொள்கை</h1>
|
||||
<p>எங்கள் செயலியின் மூலம் (monerujo: மொனேரொ பணப்பை) பயனரிடமிருந்து பெறப்படும் தனிப்பட்ட தரவுகளைச் சேகரித்தல்,
|
||||
பயன்படுத்துதல் மற்றும் வெளிப்படுத்துதல் தொடர்பான எங்கள் கொள்கைகளைப் பற்றி இந்த பக்கம் உங்களுக்குத் தெரிவிக்கிறது.
|
||||
</p>
|
||||
<p>இந்த செயலியைப் பயன்படுத்துவதன் மூலம், நீங்கள் இந்தக் கொள்கையின்படி தகவலைச் சேகரிப்பதற்கும் பயன்படுத்துவதற்கும் ஒப்புக்கொள்கிறீர்கள்
|
||||
</p>
|
||||
<h2>சேகரிக்கப்படும் தரவுகள்</h2>
|
||||
<p>தனிநபரை அடையாளம் காட்டவல்ல எந்தவொரு தரவும் தனிப்பட்ட தரவாகும்.
|
||||
</p>
|
||||
<p>பரிமாற்றத்தை முறைப்படுத்தி, மறைகுறியீட்ட வடிவில் மொனேரொ வலையமைப்பினுள் அனுப்பும் நோக்கத்திற்காக
|
||||
மொனேரொ திறவுகோல்கள் மற்றும் பொது முகவரிகள் உள்ளூர் அளவில் செயலியால் சேகரிக்கப்பட்டு முறைப்படுத்தப்படுகிறது.
|
||||
</p>
|
||||
<p>மற்ற எந்தவொரு தனிப்பட்ட தரவுகளும் இந்த செயலியால் சேகரிக்கப்படுவதில்லை.</p>
|
||||
<p>நீங்கள் மாற்றுகை (விரும்பினால்) செயல்பாட்டைப் பயன்படுத்தும்போது, monerujo ஆனது coinmarketcap.com இன் பொது API மூலம்
|
||||
மாற்றுகை விலையைக் கொணர்கிறது. உங்கள் கோரலில் உள்ள தரவு எவ்வாறு சேகரிக்கப்படுகிறது என்பதை அறிந்துகொள்ள https://coinmarketcap.com/privacy
|
||||
என்னும் அவர்கள் தனியுரிமை கொள்கை பக்கத்தைப் பார்க்கவும்.</p>
|
||||
<p>இந்த செயலியை ஒரு BTC முகவரிக்குப் பணம் செலுத்தப் பயன்படுத்தினால், நீங்கள் அதற்கு SideShift.ai சேவையைப் பயன்படுத்த நேரிடும்.
|
||||
மேலும் விவரங்களுக்கு https://sideshift.ai/ என்னும் தளத்தில் அவர்கள் தனியுரிமை கொள்கையைக் காணவும். BTC சேருமிட முகவரி மற்றும் தொகையை
|
||||
Monerujo அவர்களுக்கு அனுப்புகிறது. உங்கள் IP முகவரியும் சேகரிக்கப்படலாம்.</p>
|
||||
<h2>செயலி அனுமதிகள்</h2>
|
||||
<ul>
|
||||
<li>INTERNET (இணையம்) : ஒரு மொனேரொ மறைநிரல் கணுவை கொண்டு மொனேரொ வலையமைப்போடு இணைப்பதற்கு</li>
|
||||
<li>READ_EXTERNAL_STORAGE (புற சேமிப்பகத்தைப் படித்தல்) : சாதனத்தில் சேமித்து வைக்கப்பட்டிருக்கும் பணப்பை கோப்புகளைப் படிப்பதற்கு</li>
|
||||
<li>WRITE_EXTERNAL_STORAGE (புற சேமிப்பகத்தில் எழுதுதல்) : சாதனத்தில் சேமித்து வைக்கப்பட்டிருக்கும் பணப்பை கோப்புகளை எழுதுவதற்கு</li>
|
||||
<li>WAKE_LOCK (திரை விழிப்பு பூட்டு) : ஒத்திசைக்கும்போது சாதனத்தை விழிப்போடு வைத்திருப்பதற்கு</li>
|
||||
<li>CAMERA (படமி) : மொனேரொவை பெறுதல் பொருட்டு QR குறியீடுகளை வருடுவதற்கு</li>
|
||||
</ul>
|
||||
<h2>இந்த தனியுரிமை கொள்கைகளில் ஏற்படும் மாற்றங்கள்</h2>
|
||||
<p>நாங்கள் அவ்வப்போது இந்த தனியுரிமை கொள்கையை இற்றைப்படுத்துவோம். ஏதேனும் மாற்றங்கள் இருப்பின், புதிய தனியுரிமை கொள்கையைச்
|
||||
செயலி மற்றும் www.monerujo.io இணையதளத்தில் பதிவிடுவதன் மூலம் நாங்கள் உங்களுக்குத் தெரிவிப்போம்.
|
||||
ஏதேனும் மாற்றங்களுக்கு நீங்கள் இந்த தனியுரிமை கொள்கையை காலமுறைதோறும் மதிப்பாய்வு செய்யுமாறு அறிவுறுத்தப்படுகிறீர்கள்.
|
||||
<p>இந்த தனியுரிமை கொள்கை இறுதியாக இற்றைப்படுத்திய நாள்: நவம்பர் மாதம் 10 ஆம் நாள், 2017.
|
||||
</p>
|
||||
<h2>எங்களைத் தொடர்பு கொள்ளவும்</h2>
|
||||
<p>எங்களின் தனியுரிமை கொள்கை அல்லது எவ்வாறு உங்கள் தரவு சேகரிக்கப்பட்டு முறைப்படுத்தப்படுகிறது என்பதைப் பற்றி உங்களுக்கு ஏதேனும் கேள்விகள் இருந்தால்
|
||||
privacy@monerujo.io என்னும் முகவரிக்கு ஒரு மின்னஞ்சல் அனுப்பவும்.
|
||||
</p>
|
||||
]]></string>
|
||||
</resources>
|
322
app/src/main/res/values-ta/help.xml
Normal file
322
app/src/main/res/values-ta/help.xml
Normal file
File diff suppressed because it is too large
Load Diff
450
app/src/main/res/values-ta/strings.xml
Normal file
450
app/src/main/res/values-ta/strings.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -30,6 +30,9 @@
|
||||
- Archive (=Backup and delete)
|
||||
- 3 Default nodes + History of last 5 used nodes
|
||||
|
||||
## How does the wallet get an exchange rate?
|
||||
/app/src/main/java/com/m2049r/xmrwallet/util/ServiceHelper.java currently specifies to use Kraken's exchange API.
|
||||
|
||||
## How do I use a node with username & password?
|
||||
```username:password@node.address:portnumber```
|
||||
|
||||
@@ -96,5 +99,8 @@ This is a new feature of monero core to share certain key images with other mone
|
||||
Creating a file named `.nocrazypass` in the wallets folder will disable generation of crazypass for NEW passwords (new wallet or change password).
|
||||
The content of the file is not read and is irrelevant.
|
||||
Wallets with CrAzYpass will continue working normally. The currently set real wallet password can be checked in the "Show Secrets".
|
||||
The wallets folder is:
|
||||
- In 1.x: `monerujo` on your external storage (legacy)
|
||||
- In 2.x: `/data/data/com.m2049r.xmrwallet/files/wallets` (requires root access)
|
||||
|
||||
**NB: This feature is for test purposed only - all your XMR will be stolen if you use it!**
|
||||
|
@@ -1 +1 @@
|
||||
MONERUJO_monero master with monero release-v0.17.3.2-monerujo
|
||||
MONERUJO_monero master with monero release-v0.18.0.0-monerujo
|
||||
|
@@ -7,7 +7,7 @@ WORKDIR /opt/android
|
||||
ENV ANDROID_SDK_REVISION 4333796
|
||||
ENV ANDROID_SDK_HASH 92ffee5a1d98d856634e8b71132e8a95d96c83a63fde1099be3d86df3106def9
|
||||
RUN set -x \
|
||||
&& curl -s -O https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
|
||||
&& curl -O https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
|
||||
&& echo "${ANDROID_SDK_HASH} sdk-tools-linux-${ANDROID_SDK_REVISION}.zip" | sha256sum -c \
|
||||
&& unzip sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
|
||||
&& rm -f sdk-tools-linux-${ANDROID_SDK_REVISION}.zip
|
||||
@@ -16,7 +16,7 @@ RUN set -x \
|
||||
ENV ANDROID_NDK_REVISION 17c
|
||||
ENV ANDROID_NDK_HASH 3f541adbd0330a9205ba12697f6d04ec90752c53d6b622101a2a8a856e816589
|
||||
RUN set -x \
|
||||
&& curl -s -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
|
||||
&& curl -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
|
||||
&& echo "${ANDROID_NDK_HASH} android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip" | sha256sum -c \
|
||||
&& unzip android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
|
||||
&& rm -f android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip
|
||||
@@ -26,7 +26,7 @@ ENV ANDROID_SDK_ROOT ${WORKDIR}/tools
|
||||
ENV ANDROID_NDK_ROOT ${WORKDIR}/android-ndk-r${ANDROID_NDK_REVISION}
|
||||
ENV PREFIX /opt/android/prefix
|
||||
|
||||
ENV TOOLCHAIN_DIR ${WORKDIR}/toolchain-
|
||||
ENV TOOLCHAIN_DIR ${WORKDIR}/toolchain
|
||||
RUN set -x \
|
||||
&& ${ANDROID_NDK_ROOT}/build/tools/make_standalone_toolchain.py \
|
||||
--arch arm \
|
||||
@@ -39,7 +39,7 @@ ARG CMAKE_VERSION=3.14.6
|
||||
ARG CMAKE_HASH=82e08e50ba921035efa82b859c74c5fbe27d3e49a4003020e3c77618a4e912cd
|
||||
RUN set -x \
|
||||
&& cd /usr \
|
||||
&& curl -L -s -O https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz \
|
||||
&& curl -L -O https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz \
|
||||
&& echo "${CMAKE_HASH} cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf /usr/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz \
|
||||
&& rm -f /usr/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz
|
||||
@@ -50,7 +50,7 @@ ARG BOOST_VERSION=1_70_0
|
||||
ARG BOOST_VERSION_DOT=1.70.0
|
||||
ARG BOOST_HASH=430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778
|
||||
RUN set -x \
|
||||
&& curl -s -L -o boost_${BOOST_VERSION}.tar.bz2 https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION_DOT}/source/boost_${BOOST_VERSION}.tar.bz2 \
|
||||
&& curl -L -o boost_${BOOST_VERSION}.tar.bz2 https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION_DOT}/source/boost_${BOOST_VERSION}.tar.bz2 \
|
||||
&& echo "${BOOST_HASH} boost_${BOOST_VERSION}.tar.bz2" | sha256sum -c \
|
||||
&& tar -xvf boost_${BOOST_VERSION}.tar.bz2 \
|
||||
&& rm -f boost_${BOOST_VERSION}.tar.bz2 \
|
||||
@@ -60,18 +60,18 @@ RUN set -x \
|
||||
ENV HOST_PATH $PATH
|
||||
ENV PATH $TOOLCHAIN_DIR/arm-linux-androideabi/bin:$TOOLCHAIN_DIR/bin:$PATH
|
||||
|
||||
ARG NPROC=1
|
||||
ARG NPROC=4
|
||||
|
||||
# Build iconv for lib boost locale
|
||||
ENV ICONV_VERSION 1.16
|
||||
ENV ICONV_HASH e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04
|
||||
RUN set -x \
|
||||
&& curl -s -O http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz \
|
||||
&& curl -O http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz \
|
||||
&& echo "${ICONV_HASH} libiconv-${ICONV_VERSION}.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf libiconv-${ICONV_VERSION}.tar.gz \
|
||||
&& rm -f libiconv-${ICONV_VERSION}.tar.gz \
|
||||
&& cd libiconv-${ICONV_VERSION} \
|
||||
&& CC=arm-linux-androideabi-clang CXX=arm-linux-androideabi-clang++ ./configure --build=x86_64-linux-gnu --host=arm-linux-androideabi --prefix=${PREFIX} --disable-rpath \
|
||||
&& CC=clang CXX=clang++ ./configure --build=x86_64-linux-gnu --host=arm-linux-androideabi --prefix=${PREFIX} --disable-rpath \
|
||||
&& make -j${NPROC} && make install
|
||||
|
||||
## Build BOOST
|
||||
@@ -79,13 +79,11 @@ RUN set -x \
|
||||
&& cd boost_${BOOST_VERSION} \
|
||||
&& ./b2 --build-type=minimal link=static runtime-link=static --with-chrono --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread --with-locale --build-dir=android --stagedir=android toolset=clang threading=multi threadapi=pthread target-os=android -sICONV_PATH=${PREFIX} install -j${NPROC}
|
||||
|
||||
#Note : we build openssl because the default lacks DSA1
|
||||
|
||||
# download, configure and make Zlib
|
||||
ENV ZLIB_VERSION 1.2.11
|
||||
ENV ZLIB_HASH c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1
|
||||
ENV ZLIB_VERSION 1.2.12
|
||||
ENV ZLIB_HASH 91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9
|
||||
RUN set -x \
|
||||
&& curl -s -O https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz \
|
||||
&& curl -O https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz \
|
||||
&& echo "${ZLIB_HASH} zlib-${ZLIB_VERSION}.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf zlib-${ZLIB_VERSION}.tar.gz \
|
||||
&& rm zlib-${ZLIB_VERSION}.tar.gz \
|
||||
@@ -94,23 +92,24 @@ RUN set -x \
|
||||
&& make -j${NPROC}
|
||||
|
||||
# open ssl
|
||||
ARG OPENSSL_VERSION=1.0.2p
|
||||
ARG OPENSSL_HASH=50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00
|
||||
ARG OPENSSL_VERSION=3.0.5
|
||||
ARG OPENSSL_HASH=aa7d8d9bef71ad6525c55ba11e5f4397889ce49c2c9349dcea6d3e4f0b024a7a
|
||||
# openssl explicitly demands to be built by a clang that has a "/prebuilt/" somewhere along its path, so use the prebuilt version, but make sure to specify the target android api
|
||||
RUN set -x \
|
||||
&& curl -s -O https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& curl -O https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& echo "${OPENSSL_HASH} openssl-${OPENSSL_VERSION}.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& rm openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& cd openssl-${OPENSSL_VERSION} \
|
||||
&& sed -i -e "s/mandroid/target\ armv7\-none\-linux\-androideabi/" Configure \
|
||||
&& CC=clang CXX=clang++ \
|
||||
./Configure android-armv7 \
|
||||
no-asm \
|
||||
no-shared --static \
|
||||
&& export PATH=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH \
|
||||
&& ./Configure android-arm \
|
||||
-D__ANDROID_API__=21 \
|
||||
-static \
|
||||
no-shared no-tests \
|
||||
--with-zlib-include=${WORKDIR}/zlib/include --with-zlib-lib=${WORKDIR}/zlib/lib \
|
||||
--prefix=${PREFIX} --openssldir=${PREFIX} \
|
||||
&& make -j${NPROC} \
|
||||
&& make install
|
||||
&& make install_sw
|
||||
|
||||
# ZMQ
|
||||
ARG ZMQ_VERSION=v4.3.2
|
||||
@@ -136,8 +135,30 @@ RUN set -x \
|
||||
&& make -j${NPROC} \
|
||||
&& make install
|
||||
|
||||
# libexpat (required by libunbound)
|
||||
ARG LIBEXPAT_VERSION=R_2_4_8
|
||||
ARG LIBEXPAT_HASH=3bab6c09bbe8bf42d84b81563ddbcf4cca4be838
|
||||
RUN set -x \
|
||||
&& git clone https://github.com/libexpat/libexpat.git -b ${LIBEXPAT_VERSION} \
|
||||
&& cd libexpat/expat \
|
||||
&& test `git rev-parse HEAD` = ${LIBEXPAT_HASH} || exit 1 \
|
||||
&& ./buildconf.sh \
|
||||
&& CC=clang CXX=clang++ ./configure --prefix=${PREFIX} --host=arm-linux-androideabi --enable-static --disable-shared \
|
||||
&& make -j${NPROC} \
|
||||
&& make install
|
||||
|
||||
# libunbound
|
||||
ARG LIBUNBOUND_VERSION=release-1.16.1
|
||||
ARG LIBUNBOUND_HASH=903538c76e1d8eb30d0814bb55c3ef1ea28164e8
|
||||
RUN git clone https://github.com/NLnetLabs/unbound.git -b ${LIBUNBOUND_VERSION}
|
||||
RUN set -x \
|
||||
&& cd unbound \
|
||||
&& test `git rev-parse HEAD` = ${LIBUNBOUND_HASH} || exit 1 \
|
||||
&& CC=clang CXX=clang++ ./configure --prefix=${PREFIX} --host=arm-linux-androideabi --enable-static --disable-shared --disable-flto --with-ssl=${PREFIX} --with-libexpat=${PREFIX} \
|
||||
&& make -j${NPROC} \
|
||||
&& make install
|
||||
|
||||
COPY . /src
|
||||
ARG NPROC=4
|
||||
RUN set -x \
|
||||
&& cd /src \
|
||||
&& CMAKE_INCLUDE_PATH="${PREFIX}/include" \
|
||||
|
@@ -7,7 +7,7 @@ WORKDIR /opt/android
|
||||
ENV ANDROID_SDK_REVISION 4333796
|
||||
ENV ANDROID_SDK_HASH 92ffee5a1d98d856634e8b71132e8a95d96c83a63fde1099be3d86df3106def9
|
||||
RUN set -x \
|
||||
&& curl -s -O https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
|
||||
&& curl -O https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
|
||||
&& echo "${ANDROID_SDK_HASH} sdk-tools-linux-${ANDROID_SDK_REVISION}.zip" | sha256sum -c \
|
||||
&& unzip sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
|
||||
&& rm -f sdk-tools-linux-${ANDROID_SDK_REVISION}.zip
|
||||
@@ -16,7 +16,7 @@ RUN set -x \
|
||||
ENV ANDROID_NDK_REVISION 17c
|
||||
ENV ANDROID_NDK_HASH 3f541adbd0330a9205ba12697f6d04ec90752c53d6b622101a2a8a856e816589
|
||||
RUN set -x \
|
||||
&& curl -s -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
|
||||
&& curl -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
|
||||
&& echo "${ANDROID_NDK_HASH} android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip" | sha256sum -c \
|
||||
&& unzip android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
|
||||
&& rm -f android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip
|
||||
@@ -39,7 +39,7 @@ ARG CMAKE_VERSION=3.14.6
|
||||
ARG CMAKE_HASH=82e08e50ba921035efa82b859c74c5fbe27d3e49a4003020e3c77618a4e912cd
|
||||
RUN set -x \
|
||||
&& cd /usr \
|
||||
&& curl -L -s -O https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz \
|
||||
&& curl -L -O https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz \
|
||||
&& echo "${CMAKE_HASH} cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf /usr/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz \
|
||||
&& rm -f /usr/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz
|
||||
@@ -50,7 +50,7 @@ ARG BOOST_VERSION=1_70_0
|
||||
ARG BOOST_VERSION_DOT=1.70.0
|
||||
ARG BOOST_HASH=430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778
|
||||
RUN set -x \
|
||||
&& curl -s -L -o boost_${BOOST_VERSION}.tar.bz2 https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION_DOT}/source/boost_${BOOST_VERSION}.tar.bz2 \
|
||||
&& curl -L -o boost_${BOOST_VERSION}.tar.bz2 https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION_DOT}/source/boost_${BOOST_VERSION}.tar.bz2 \
|
||||
&& echo "${BOOST_HASH} boost_${BOOST_VERSION}.tar.bz2" | sha256sum -c \
|
||||
&& tar -xvf boost_${BOOST_VERSION}.tar.bz2 \
|
||||
&& rm -f boost_${BOOST_VERSION}.tar.bz2 \
|
||||
@@ -60,18 +60,18 @@ RUN set -x \
|
||||
ENV HOST_PATH $PATH
|
||||
ENV PATH $TOOLCHAIN_DIR/i686-linux-android/bin:$TOOLCHAIN_DIR/bin:$PATH
|
||||
|
||||
ARG NPROC=1
|
||||
ARG NPROC=4
|
||||
|
||||
# Build iconv for lib boost locale
|
||||
ENV ICONV_VERSION 1.16
|
||||
ENV ICONV_HASH e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04
|
||||
RUN set -x \
|
||||
&& curl -s -O http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz \
|
||||
&& curl -O http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz \
|
||||
&& echo "${ICONV_HASH} libiconv-${ICONV_VERSION}.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf libiconv-${ICONV_VERSION}.tar.gz \
|
||||
&& rm -f libiconv-${ICONV_VERSION}.tar.gz \
|
||||
&& cd libiconv-${ICONV_VERSION} \
|
||||
&& CC=i686-linux-android-clang CXX=i686-linux-android-clang++ ./configure --build=x86_64-linux-gnu --host=i686-linux-android --prefix=${PREFIX} --disable-rpath \
|
||||
&& CC=clang CXX=clang++ ./configure --build=x86_64-linux-gnu --host=i686-linux-android --prefix=${PREFIX} --disable-rpath \
|
||||
&& make -j${NPROC} && make install
|
||||
|
||||
## Build BOOST
|
||||
@@ -79,13 +79,11 @@ RUN set -x \
|
||||
&& cd boost_${BOOST_VERSION} \
|
||||
&& ./b2 --build-type=minimal link=static runtime-link=static --with-chrono --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread --with-locale --build-dir=android --stagedir=android toolset=clang threading=multi threadapi=pthread target-os=android -sICONV_PATH=${PREFIX} install -j${NPROC}
|
||||
|
||||
#Note : we build openssl because the default lacks DSA1
|
||||
|
||||
# download, configure and make Zlib
|
||||
ENV ZLIB_VERSION 1.2.11
|
||||
ENV ZLIB_HASH c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1
|
||||
ENV ZLIB_VERSION 1.2.12
|
||||
ENV ZLIB_HASH 91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9
|
||||
RUN set -x \
|
||||
&& curl -s -O https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz \
|
||||
&& curl -O https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz \
|
||||
&& echo "${ZLIB_HASH} zlib-${ZLIB_VERSION}.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf zlib-${ZLIB_VERSION}.tar.gz \
|
||||
&& rm zlib-${ZLIB_VERSION}.tar.gz \
|
||||
@@ -94,23 +92,24 @@ RUN set -x \
|
||||
&& make -j${NPROC}
|
||||
|
||||
# open ssl
|
||||
ARG OPENSSL_VERSION=1.0.2p
|
||||
ARG OPENSSL_HASH=50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00
|
||||
ARG OPENSSL_VERSION=3.0.5
|
||||
ARG OPENSSL_HASH=aa7d8d9bef71ad6525c55ba11e5f4397889ce49c2c9349dcea6d3e4f0b024a7a
|
||||
# openssl explicitly demands to be built by a clang that has a "/prebuilt/" somewhere along its path, so use the prebuilt version, but make sure to specify the target android api
|
||||
RUN set -x \
|
||||
&& curl -s -O https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& curl -O https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& echo "${OPENSSL_HASH} openssl-${OPENSSL_VERSION}.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& rm openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& cd openssl-${OPENSSL_VERSION} \
|
||||
&& sed -i -e "s/mandroid/target\ i686\-linux\-android/" Configure \
|
||||
&& CC=clang CXX=clang++ \
|
||||
./Configure android \
|
||||
no-asm \
|
||||
no-shared --static \
|
||||
&& export PATH=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH \
|
||||
&& ./Configure android-x86 \
|
||||
-D__ANDROID_API__=21 \
|
||||
-static \
|
||||
no-shared no-tests \
|
||||
--with-zlib-include=${WORKDIR}/zlib/include --with-zlib-lib=${WORKDIR}/zlib/lib \
|
||||
--prefix=${PREFIX} --openssldir=${PREFIX} \
|
||||
&& make -j${NPROC} \
|
||||
&& make install
|
||||
&& make install_sw
|
||||
|
||||
# ZMQ
|
||||
ARG ZMQ_VERSION=v4.3.2
|
||||
@@ -136,8 +135,30 @@ RUN set -x \
|
||||
&& make -j${NPROC} \
|
||||
&& make install
|
||||
|
||||
# libexpat (required by libunbound)
|
||||
ARG LIBEXPAT_VERSION=R_2_4_8
|
||||
ARG LIBEXPAT_HASH=3bab6c09bbe8bf42d84b81563ddbcf4cca4be838
|
||||
RUN set -x \
|
||||
&& git clone https://github.com/libexpat/libexpat.git -b ${LIBEXPAT_VERSION} \
|
||||
&& cd libexpat/expat \
|
||||
&& test `git rev-parse HEAD` = ${LIBEXPAT_HASH} || exit 1 \
|
||||
&& ./buildconf.sh \
|
||||
&& CC=clang CXX=clang++ ./configure --prefix=${PREFIX} --host=x86-linux-android --enable-static --disable-shared \
|
||||
&& make -j${NPROC} \
|
||||
&& make install
|
||||
|
||||
# libunbound
|
||||
ARG LIBUNBOUND_VERSION=release-1.16.1
|
||||
ARG LIBUNBOUND_HASH=903538c76e1d8eb30d0814bb55c3ef1ea28164e8
|
||||
RUN git clone https://github.com/NLnetLabs/unbound.git -b ${LIBUNBOUND_VERSION}
|
||||
RUN set -x \
|
||||
&& cd unbound \
|
||||
&& test `git rev-parse HEAD` = ${LIBUNBOUND_HASH} || exit 1 \
|
||||
&& CC=clang CXX=clang++ ./configure --prefix=${PREFIX} --host=x86-linux-android --enable-static --disable-shared --disable-flto --with-ssl=${PREFIX} --with-libexpat=${PREFIX} \
|
||||
&& make -j${NPROC} \
|
||||
&& make install
|
||||
|
||||
COPY . /src
|
||||
ARG NPROC=4
|
||||
RUN set -x \
|
||||
&& cd /src \
|
||||
&& CMAKE_INCLUDE_PATH="${PREFIX}/include" \
|
||||
|
@@ -7,7 +7,7 @@ WORKDIR /opt/android
|
||||
ENV ANDROID_SDK_REVISION 4333796
|
||||
ENV ANDROID_SDK_HASH 92ffee5a1d98d856634e8b71132e8a95d96c83a63fde1099be3d86df3106def9
|
||||
RUN set -x \
|
||||
&& curl -s -O https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
|
||||
&& curl -O https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
|
||||
&& echo "${ANDROID_SDK_HASH} sdk-tools-linux-${ANDROID_SDK_REVISION}.zip" | sha256sum -c \
|
||||
&& unzip sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
|
||||
&& rm -f sdk-tools-linux-${ANDROID_SDK_REVISION}.zip
|
||||
@@ -16,7 +16,7 @@ RUN set -x \
|
||||
ENV ANDROID_NDK_REVISION 17c
|
||||
ENV ANDROID_NDK_HASH 3f541adbd0330a9205ba12697f6d04ec90752c53d6b622101a2a8a856e816589
|
||||
RUN set -x \
|
||||
&& curl -s -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
|
||||
&& curl -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
|
||||
&& echo "${ANDROID_NDK_HASH} android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip" | sha256sum -c \
|
||||
&& unzip android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
|
||||
&& rm -f android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip
|
||||
@@ -39,7 +39,7 @@ ARG CMAKE_VERSION=3.14.6
|
||||
ARG CMAKE_HASH=82e08e50ba921035efa82b859c74c5fbe27d3e49a4003020e3c77618a4e912cd
|
||||
RUN set -x \
|
||||
&& cd /usr \
|
||||
&& curl -L -s -O https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz \
|
||||
&& curl -L -O https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz \
|
||||
&& echo "${CMAKE_HASH} cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf /usr/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz \
|
||||
&& rm -f /usr/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz
|
||||
@@ -50,7 +50,7 @@ ARG BOOST_VERSION=1_70_0
|
||||
ARG BOOST_VERSION_DOT=1.70.0
|
||||
ARG BOOST_HASH=430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778
|
||||
RUN set -x \
|
||||
&& curl -s -L -o boost_${BOOST_VERSION}.tar.bz2 https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION_DOT}/source/boost_${BOOST_VERSION}.tar.bz2 \
|
||||
&& curl -L -o boost_${BOOST_VERSION}.tar.bz2 https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION_DOT}/source/boost_${BOOST_VERSION}.tar.bz2 \
|
||||
&& echo "${BOOST_HASH} boost_${BOOST_VERSION}.tar.bz2" | sha256sum -c \
|
||||
&& tar -xvf boost_${BOOST_VERSION}.tar.bz2 \
|
||||
&& rm -f boost_${BOOST_VERSION}.tar.bz2 \
|
||||
@@ -60,18 +60,18 @@ RUN set -x \
|
||||
ENV HOST_PATH $PATH
|
||||
ENV PATH $TOOLCHAIN_DIR/aarch64-linux-android/bin:$TOOLCHAIN_DIR/bin:$PATH
|
||||
|
||||
ARG NPROC=1
|
||||
ARG NPROC=4
|
||||
|
||||
# Build iconv for lib boost locale
|
||||
ENV ICONV_VERSION 1.16
|
||||
ENV ICONV_HASH e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04
|
||||
RUN set -x \
|
||||
&& curl -s -O http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz \
|
||||
&& curl -O http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz \
|
||||
&& echo "${ICONV_HASH} libiconv-${ICONV_VERSION}.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf libiconv-${ICONV_VERSION}.tar.gz \
|
||||
&& rm -f libiconv-${ICONV_VERSION}.tar.gz \
|
||||
&& cd libiconv-${ICONV_VERSION} \
|
||||
&& CC=aarch64-linux-android-clang CXX=aarch64-linux-android-clang++ ./configure --build=x86_64-linux-gnu --host=aarch64-linux-android --prefix=${PREFIX} --disable-rpath \
|
||||
&& CC=clang CXX=clang++ ./configure --build=x86_64-linux-gnu --host=aarch64-linux-android --prefix=${PREFIX} --disable-rpath \
|
||||
&& make -j${NPROC} && make install
|
||||
|
||||
## Build BOOST
|
||||
@@ -79,13 +79,11 @@ RUN set -x \
|
||||
&& cd boost_${BOOST_VERSION} \
|
||||
&& ./b2 --build-type=minimal link=static runtime-link=static --with-chrono --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread --with-locale --build-dir=android --stagedir=android toolset=clang threading=multi threadapi=pthread target-os=android -sICONV_PATH=${PREFIX} install -j${NPROC}
|
||||
|
||||
#Note : we build openssl because the default lacks DSA1
|
||||
|
||||
# download, configure and make Zlib
|
||||
ENV ZLIB_VERSION 1.2.11
|
||||
ENV ZLIB_HASH c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1
|
||||
ENV ZLIB_VERSION 1.2.12
|
||||
ENV ZLIB_HASH 91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9
|
||||
RUN set -x \
|
||||
&& curl -s -O https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz \
|
||||
&& curl -O https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz \
|
||||
&& echo "${ZLIB_HASH} zlib-${ZLIB_VERSION}.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf zlib-${ZLIB_VERSION}.tar.gz \
|
||||
&& rm zlib-${ZLIB_VERSION}.tar.gz \
|
||||
@@ -94,23 +92,24 @@ RUN set -x \
|
||||
&& make -j${NPROC}
|
||||
|
||||
# open ssl
|
||||
ARG OPENSSL_VERSION=1.0.2p
|
||||
ARG OPENSSL_HASH=50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00
|
||||
ARG OPENSSL_VERSION=3.0.5
|
||||
ARG OPENSSL_HASH=aa7d8d9bef71ad6525c55ba11e5f4397889ce49c2c9349dcea6d3e4f0b024a7a
|
||||
# openssl explicitly demands to be built by a clang that has a "/prebuilt/" somewhere along its path, so use the prebuilt version, but make sure to specify the target android api
|
||||
RUN set -x \
|
||||
&& curl -s -O https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& curl -O https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& echo "${OPENSSL_HASH} openssl-${OPENSSL_VERSION}.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& rm openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& cd openssl-${OPENSSL_VERSION} \
|
||||
&& sed -i -e "s/mandroid/target\ aarch64\-linux\-android/" Configure \
|
||||
&& CC=clang CXX=clang++ \
|
||||
./Configure android \
|
||||
no-asm \
|
||||
no-shared --static \
|
||||
&& export PATH=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH \
|
||||
&& ./Configure android-arm64 \
|
||||
-D__ANDROID_API__=21 \
|
||||
-static \
|
||||
no-shared no-tests \
|
||||
--with-zlib-include=${WORKDIR}/zlib/include --with-zlib-lib=${WORKDIR}/zlib/lib \
|
||||
--prefix=${PREFIX} --openssldir=${PREFIX} \
|
||||
&& make -j${NPROC} \
|
||||
&& make install
|
||||
&& make install_sw
|
||||
|
||||
# ZMQ
|
||||
ARG ZMQ_VERSION=v4.3.2
|
||||
@@ -136,8 +135,30 @@ RUN set -x \
|
||||
&& make -j${NPROC} \
|
||||
&& make install
|
||||
|
||||
# libexpat (required by libunbound)
|
||||
ARG LIBEXPAT_VERSION=R_2_4_8
|
||||
ARG LIBEXPAT_HASH=3bab6c09bbe8bf42d84b81563ddbcf4cca4be838
|
||||
RUN set -x \
|
||||
&& git clone https://github.com/libexpat/libexpat.git -b ${LIBEXPAT_VERSION} \
|
||||
&& cd libexpat/expat \
|
||||
&& test `git rev-parse HEAD` = ${LIBEXPAT_HASH} || exit 1 \
|
||||
&& ./buildconf.sh \
|
||||
&& CC=clang CXX=clang++ ./configure --prefix=${PREFIX} --host=aarch64-linux-android --enable-static --disable-shared \
|
||||
&& make -j${NPROC} \
|
||||
&& make install
|
||||
|
||||
# libunbound
|
||||
ARG LIBUNBOUND_VERSION=release-1.16.1
|
||||
ARG LIBUNBOUND_HASH=903538c76e1d8eb30d0814bb55c3ef1ea28164e8
|
||||
RUN git clone https://github.com/NLnetLabs/unbound.git -b ${LIBUNBOUND_VERSION}
|
||||
RUN set -x \
|
||||
&& cd unbound \
|
||||
&& test `git rev-parse HEAD` = ${LIBUNBOUND_HASH} || exit 1 \
|
||||
&& CC=clang CXX=clang++ ./configure --prefix=${PREFIX} --host=aarch64-linux-android --enable-static --disable-shared --disable-flto --with-ssl=${PREFIX} --with-libexpat=${PREFIX} \
|
||||
&& make -j${NPROC} \
|
||||
&& make install
|
||||
|
||||
COPY . /src
|
||||
ARG NPROC=4
|
||||
RUN set -x \
|
||||
&& cd /src \
|
||||
&& CMAKE_INCLUDE_PATH="${PREFIX}/include" \
|
||||
|
@@ -7,7 +7,7 @@ WORKDIR /opt/android
|
||||
ENV ANDROID_SDK_REVISION 4333796
|
||||
ENV ANDROID_SDK_HASH 92ffee5a1d98d856634e8b71132e8a95d96c83a63fde1099be3d86df3106def9
|
||||
RUN set -x \
|
||||
&& curl -s -O https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
|
||||
&& curl -O https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
|
||||
&& echo "${ANDROID_SDK_HASH} sdk-tools-linux-${ANDROID_SDK_REVISION}.zip" | sha256sum -c \
|
||||
&& unzip sdk-tools-linux-${ANDROID_SDK_REVISION}.zip \
|
||||
&& rm -f sdk-tools-linux-${ANDROID_SDK_REVISION}.zip
|
||||
@@ -16,7 +16,7 @@ RUN set -x \
|
||||
ENV ANDROID_NDK_REVISION 17c
|
||||
ENV ANDROID_NDK_HASH 3f541adbd0330a9205ba12697f6d04ec90752c53d6b622101a2a8a856e816589
|
||||
RUN set -x \
|
||||
&& curl -s -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
|
||||
&& curl -O https://dl.google.com/android/repository/android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
|
||||
&& echo "${ANDROID_NDK_HASH} android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip" | sha256sum -c \
|
||||
&& unzip android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
|
||||
&& rm -f android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip
|
||||
@@ -39,7 +39,7 @@ ARG CMAKE_VERSION=3.14.6
|
||||
ARG CMAKE_HASH=82e08e50ba921035efa82b859c74c5fbe27d3e49a4003020e3c77618a4e912cd
|
||||
RUN set -x \
|
||||
&& cd /usr \
|
||||
&& curl -L -s -O https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz \
|
||||
&& curl -L -O https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz \
|
||||
&& echo "${CMAKE_HASH} cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf /usr/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz \
|
||||
&& rm -f /usr/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz
|
||||
@@ -50,7 +50,7 @@ ARG BOOST_VERSION=1_70_0
|
||||
ARG BOOST_VERSION_DOT=1.70.0
|
||||
ARG BOOST_HASH=430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778
|
||||
RUN set -x \
|
||||
&& curl -s -L -o boost_${BOOST_VERSION}.tar.bz2 https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION_DOT}/source/boost_${BOOST_VERSION}.tar.bz2 \
|
||||
&& curl -L -o boost_${BOOST_VERSION}.tar.bz2 https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION_DOT}/source/boost_${BOOST_VERSION}.tar.bz2 \
|
||||
&& echo "${BOOST_HASH} boost_${BOOST_VERSION}.tar.bz2" | sha256sum -c \
|
||||
&& tar -xvf boost_${BOOST_VERSION}.tar.bz2 \
|
||||
&& rm -f boost_${BOOST_VERSION}.tar.bz2 \
|
||||
@@ -60,18 +60,18 @@ RUN set -x \
|
||||
ENV HOST_PATH $PATH
|
||||
ENV PATH $TOOLCHAIN_DIR/x86_64-linux-android/bin:$TOOLCHAIN_DIR/bin:$PATH
|
||||
|
||||
ARG NPROC=1
|
||||
ARG NPROC=4
|
||||
|
||||
# Build iconv for lib boost locale
|
||||
ENV ICONV_VERSION 1.16
|
||||
ENV ICONV_HASH e6a1b1b589654277ee790cce3734f07876ac4ccfaecbee8afa0b649cf529cc04
|
||||
RUN set -x \
|
||||
&& curl -s -O http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz \
|
||||
&& curl -O http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz \
|
||||
&& echo "${ICONV_HASH} libiconv-${ICONV_VERSION}.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf libiconv-${ICONV_VERSION}.tar.gz \
|
||||
&& rm -f libiconv-${ICONV_VERSION}.tar.gz \
|
||||
&& cd libiconv-${ICONV_VERSION} \
|
||||
&& CC=x86_64-linux-android-clang CXX=x86_64-linux-android-clang++ ./configure --build=x86_64-linux-gnu --host=x86_64-linux-android --prefix=${PREFIX} --disable-rpath \
|
||||
&& CC=clang CXX=clang++ ./configure --build=x86_64-linux-gnu --host=x86_64-linux-android --prefix=${PREFIX} --disable-rpath \
|
||||
&& make -j${NPROC} && make install
|
||||
|
||||
## Build BOOST
|
||||
@@ -79,13 +79,11 @@ RUN set -x \
|
||||
&& cd boost_${BOOST_VERSION} \
|
||||
&& ./b2 --build-type=minimal link=static runtime-link=static --with-chrono --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization --with-system --with-thread --with-locale --build-dir=android --stagedir=android toolset=clang threading=multi threadapi=pthread target-os=android -sICONV_PATH=${PREFIX} install -j${NPROC}
|
||||
|
||||
#Note : we build openssl because the default lacks DSA1
|
||||
|
||||
# download, configure and make Zlib
|
||||
ENV ZLIB_VERSION 1.2.11
|
||||
ENV ZLIB_HASH c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1
|
||||
ENV ZLIB_VERSION 1.2.12
|
||||
ENV ZLIB_HASH 91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9
|
||||
RUN set -x \
|
||||
&& curl -s -O https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz \
|
||||
&& curl -O https://zlib.net/zlib-${ZLIB_VERSION}.tar.gz \
|
||||
&& echo "${ZLIB_HASH} zlib-${ZLIB_VERSION}.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf zlib-${ZLIB_VERSION}.tar.gz \
|
||||
&& rm zlib-${ZLIB_VERSION}.tar.gz \
|
||||
@@ -94,23 +92,24 @@ RUN set -x \
|
||||
&& make -j${NPROC}
|
||||
|
||||
# open ssl
|
||||
ARG OPENSSL_VERSION=1.0.2p
|
||||
ARG OPENSSL_HASH=50a98e07b1a89eb8f6a99477f262df71c6fa7bef77df4dc83025a2845c827d00
|
||||
ARG OPENSSL_VERSION=3.0.5
|
||||
ARG OPENSSL_HASH=aa7d8d9bef71ad6525c55ba11e5f4397889ce49c2c9349dcea6d3e4f0b024a7a
|
||||
# openssl explicitly demands to be built by a clang that has a "/prebuilt/" somewhere along its path, so use the prebuilt version, but make sure to specify the target android api
|
||||
RUN set -x \
|
||||
&& curl -s -O https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& curl -O https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& echo "${OPENSSL_HASH} openssl-${OPENSSL_VERSION}.tar.gz" | sha256sum -c \
|
||||
&& tar -xzf openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& rm openssl-${OPENSSL_VERSION}.tar.gz \
|
||||
&& cd openssl-${OPENSSL_VERSION} \
|
||||
&& sed -i -e "s/mandroid/target\ x86_64\-linux\-android/" Configure \
|
||||
&& CC=clang CXX=clang++ \
|
||||
./Configure android \
|
||||
no-asm \
|
||||
no-shared --static \
|
||||
&& export PATH=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH \
|
||||
&& ./Configure android-x86_64 \
|
||||
-D__ANDROID_API__=21 \
|
||||
-static \
|
||||
no-shared no-tests \
|
||||
--with-zlib-include=${WORKDIR}/zlib/include --with-zlib-lib=${WORKDIR}/zlib/lib \
|
||||
--prefix=${PREFIX} --openssldir=${PREFIX} \
|
||||
&& make -j${NPROC} \
|
||||
&& make install
|
||||
&& make install_sw
|
||||
|
||||
# ZMQ
|
||||
ARG ZMQ_VERSION=v4.3.2
|
||||
@@ -136,8 +135,30 @@ RUN set -x \
|
||||
&& make -j${NPROC} \
|
||||
&& make install
|
||||
|
||||
# libexpat (required by libunbound)
|
||||
ARG LIBEXPAT_VERSION=R_2_4_8
|
||||
ARG LIBEXPAT_HASH=3bab6c09bbe8bf42d84b81563ddbcf4cca4be838
|
||||
RUN set -x \
|
||||
&& git clone https://github.com/libexpat/libexpat.git -b ${LIBEXPAT_VERSION} \
|
||||
&& cd libexpat/expat \
|
||||
&& test `git rev-parse HEAD` = ${LIBEXPAT_HASH} || exit 1 \
|
||||
&& ./buildconf.sh \
|
||||
&& CC=clang CXX=clang++ ./configure --prefix=${PREFIX} --host=x86_64-linux-android --enable-static --disable-shared \
|
||||
&& make -j${NPROC} \
|
||||
&& make install
|
||||
|
||||
# libunbound
|
||||
ARG LIBUNBOUND_VERSION=release-1.16.1
|
||||
ARG LIBUNBOUND_HASH=903538c76e1d8eb30d0814bb55c3ef1ea28164e8
|
||||
RUN git clone https://github.com/NLnetLabs/unbound.git -b ${LIBUNBOUND_VERSION}
|
||||
RUN set -x \
|
||||
&& cd unbound \
|
||||
&& test `git rev-parse HEAD` = ${LIBUNBOUND_HASH} || exit 1 \
|
||||
&& CC=clang CXX=clang++ ./configure --prefix=${PREFIX} --host=x86_64-linux-android --enable-static --disable-shared --disable-flto --with-ssl=${PREFIX} --with-libexpat=${PREFIX} \
|
||||
&& make -j${NPROC} \
|
||||
&& make install
|
||||
|
||||
COPY . /src
|
||||
ARG NPROC=4
|
||||
RUN set -x \
|
||||
&& cd /src \
|
||||
&& CMAKE_INCLUDE_PATH="${PREFIX}/include" \
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2014-2020, The Monero Project
|
||||
// Copyright (c) 2014-2022, The Monero Project
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
@@ -423,7 +423,6 @@ struct WalletListener
|
||||
|
||||
/**
|
||||
* @brief Interface for wallet operations.
|
||||
* TODO: check if /include/IWallet.h is still actual
|
||||
*/
|
||||
struct Wallet
|
||||
{
|
||||
@@ -928,6 +927,13 @@ struct Wallet
|
||||
*/
|
||||
virtual bool importOutputs(const std::string &filename) = 0;
|
||||
|
||||
/*!
|
||||
* \brief scanTransactions - scan a list of transaction ids, this operation may reveal the txids to the remote node and affect your privacy
|
||||
* \param txids - list of transaction ids
|
||||
* \return - true on success
|
||||
*/
|
||||
virtual bool scanTransactions(const std::vector<std::string> &txids) = 0;
|
||||
|
||||
virtual TransactionHistory * history() = 0;
|
||||
virtual AddressBook * addressBook() = 0;
|
||||
virtual Subaddress * subaddress() = 0;
|
||||
@@ -988,7 +994,7 @@ struct Wallet
|
||||
* \param message - the message to sign (arbitrary byte data)
|
||||
* \return the signature
|
||||
*/
|
||||
virtual std::string signMessage(const std::string &message) = 0;
|
||||
virtual std::string signMessage(const std::string &message, const std::string &address = "") = 0;
|
||||
/*!
|
||||
* \brief verifySignedMessage - verify a signature matches a given message
|
||||
* \param message - the message (arbitrary byte data)
|
||||
@@ -1029,6 +1035,7 @@ struct Wallet
|
||||
* \param offline - true/false
|
||||
*/
|
||||
virtual void setOffline(bool offline) = 0;
|
||||
virtual bool isOffline() const = 0;
|
||||
|
||||
//! blackballs a set of outputs
|
||||
virtual bool blackballOutputs(const std::vector<std::string> &outputs, bool add) = 0;
|
||||
@@ -1080,6 +1087,15 @@ struct Wallet
|
||||
|
||||
//! shows address on device display
|
||||
virtual void deviceShowAddress(uint32_t accountIndex, uint32_t addressIndex, const std::string &paymentId) = 0;
|
||||
|
||||
//! attempt to reconnect to hardware device
|
||||
virtual bool reconnectDevice() = 0;
|
||||
|
||||
//! get bytes received
|
||||
virtual uint64_t getBytesReceived() = 0;
|
||||
|
||||
//! get bytes sent
|
||||
virtual uint64_t getBytesSent() = 0;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1358,6 +1374,3 @@ struct WalletManagerFactory
|
||||
|
||||
|
||||
}
|
||||
|
||||
namespace Bitmonero = Monero;
|
||||
|
||||
|
Reference in New Issue
Block a user