Skip to content

Commit ef5bf06

Browse files
committed
Merge branch 'master' of https://github.com/unxed/far2l
2 parents 3ca5ebb + a0c63f0 commit ef5bf06

File tree

118 files changed

+6484
-1678
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+6484
-1678
lines changed

.cirrus.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
freebsd_test_task:
22
freebsd_instance:
3-
image_family: freebsd-14-0
3+
image_family: freebsd-14-2
44
name: cirrus/FreeBSD
5-
install_script: pkg install -y cmake git pkgconf bash wx32-gtk3 libssh openssl libnfs neon libarchive samba416 uchardet libxml2
5+
install_script: pkg install -y cmake git pkgconf bash wx32-gtk3 libssh openssl libnfs neon libarchive samba416 uchardet libxml2 aws-sdk-cpp
66
script: mkdir build && cd build && cmake .. && make -j $(getconf _NPROCESSORS_ONLN) && ./install/far2l --help
77

88
macos_test_task:

.github/workflows/build.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ jobs:
6969
libx11-dev libxi-dev
7070
libssl-dev libsmbclient-dev libnfs-dev libneon27-dev libssh-dev
7171
libarchive-dev
72-
libarchive-dev
7372
python3-dev python3-cffi
7473
7574
- name: Create Build Environment

.travis.yml

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ matrix:
55
include:
66
- os: osx
77
osx_image: xcode12
8+
before_install:
9+
- git clone https://github.com/microsoft/vcpkg.git
10+
- ./vcpkg/bootstrap-vcpkg.sh
11+
- ./vcpkg/vcpkg install aws-sdk-cpp
812
- os: linux
913
dist: xenial
1014
sudo: required
@@ -26,8 +30,12 @@ matrix:
2630
- libarchive-dev
2731
- ninja-build
2832
env: CXX=g++-5
33+
before_install:
34+
- git clone https://github.com/microsoft/vcpkg.git
35+
- ./vcpkg/bootstrap-vcpkg.sh
36+
- ./vcpkg/vcpkg install aws-sdk-cpp
2937
install:
30-
- if [ "$CXX" = "g++" ]; then export CXX="g++-5" CC="gcc-5"; fi
38+
- if [ "$CXX" = "g++" ]; then export CXX="g++-5" CC="gcc-5"; fi
3139
- os: linux
3240
dist: xenial
3341
sudo: required
@@ -49,8 +57,12 @@ matrix:
4957
- libarchive-dev
5058
- ninja-build
5159
env: CXX=g++-6
60+
before_install:
61+
- git clone https://github.com/microsoft/vcpkg.git
62+
- ./vcpkg/bootstrap-vcpkg.sh
63+
- ./vcpkg/vcpkg install aws-sdk-cpp
5264
install:
53-
- if [ "$CXX" = "g++" ]; then export CXX="g++-6" CC="gcc-6"; fi
65+
- if [ "$CXX" = "g++" ]; then export CXX="g++-6" CC="gcc-6"; fi
5466
- os: linux
5567
dist: xenial
5668
sudo: required
@@ -73,8 +85,12 @@ matrix:
7385
- libarchive-dev
7486
- ninja-build
7587
env: CXX=clang++-3.6
88+
before_install:
89+
- git clone https://github.com/microsoft/vcpkg.git
90+
- ./vcpkg/bootstrap-vcpkg.sh
91+
- ./vcpkg/vcpkg install aws-sdk-cpp
7692
install:
77-
- if [ "$CXX" = "clang++" ]; then export CXX="clang++-3.6" CC="clang-3.6"; fi
93+
- if [ "$CXX" = "clang++" ]; then export CXX="clang++-3.6" CC="clang-3.6"; fi
7894
- os: linux
7995
dist: xenial
8096
sudo: required
@@ -98,8 +114,12 @@ matrix:
98114
- zlib1g-dev
99115
- ninja-build
100116
env: CXX=clang++-3.7
117+
before_install:
118+
- git clone https://github.com/microsoft/vcpkg.git
119+
- ./vcpkg/bootstrap-vcpkg.sh
120+
- ./vcpkg/vcpkg install aws-sdk-cpp
101121
install:
102-
- if [ "$CXX" = "clang++" ]; then export CXX="clang++-3.7" CC="clang-3.7"; fi
122+
- if [ "$CXX" = "clang++" ]; then export CXX="clang++-3.7" CC="clang-3.7"; fi
103123

104124
before_install:
105125
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew unlink python@2 ; fi
@@ -112,5 +132,6 @@ before_install:
112132
script:
113133
- mkdir build
114134
- cd build
115-
- cmake -G Ninja .. && ninja -v
135+
- cmake -G Ninja .. -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake
136+
- ninja -v
116137
- cd install && zip -r ../far2l-${TRAVIS_COMMIT}.zip * && cd -

Brewfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,5 @@ brew "uchardet"
1010
brew "wget"
1111
brew "wxwidgets"
1212
brew "libxml2"
13+
brew "libxml2"
14+
brew "aws-sdk-cpp"

CMakeLists.txt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ set(VERSION_PATCH "${VERSION_PATCH}-beta")
7575
set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
7676

7777
set(CMAKE_CXX_STANDARD_REQUIRED ON)
78-
set(CMAKE_CXX_STANDARD 11)
78+
set(CMAKE_CXX_STANDARD 17)
7979
set(CMAKE_CXX_EXTENSIONS OFF)
8080

8181
if(NOT CMAKE_BUILD_TYPE)
@@ -141,7 +141,7 @@ endif()
141141

142142
if(${CMAKE_VERSION} VERSION_LESS "3.1.0")
143143
message("Please consider to switch to newer CMake")
144-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
144+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
145145
endif()
146146

147147
if("${ICU_MODE}" STREQUAL "runtime")
@@ -454,6 +454,13 @@ if (NOT DEFINED NETROCKS OR NETROCKS)
454454
message(WARNING "${ColorRed}libneon not found, NetRocks will not have WebDav protocol support. Install libneon*-dev if you want WebDav protocol available in NetRocks.${ColorNormal}")
455455
endif(LIBNEON_FOUND)
456456

457+
find_package(AWSSDK QUIET COMPONENTS s3)
458+
if(AWSSDK_FOUND)
459+
message(STATUS "aws-sdk-cpp found -> enjoy AWS s3 support in NetRocks")
460+
else()
461+
message(WARNING "${ColorRed}aws-sdk-cpp not found, NetRocks will not have AWS S3 protocol support. Install aws-sdk-cpp if you want AWS S3 protocol available in NetRocks.${ColorNormal}")
462+
endif(AWSSDK_FOUND)
463+
457464
add_subdirectory (NetRocks)
458465
else()
459466
message(STATUS "${ColorRed}NETROCKS plugin disabled due to NETROCKS=${NETROCKS}${ColorNormal}")

HACKING.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ far2l uses this to resolve symlink destination when user selects plugin's item t
8989
* `DM_SETTEXTPTRSILENT`
9090
* `ECTL_ADDTRUECOLOR` - applies coloring to editor like ECTL_ADDCOLOR does but allows to specify 24 RGB color using EditorTrueColor structure.
9191
* `ECTL_GETTRUECOLOR` - retrieves coloring of editor like ECTL_GETCOLOR does but gets 24 RGB color using EditorTrueColor structure.
92+
* `DN_KEY` - Param2 retrives bitmasked state of the keys KEY_SHIFT, KEY_ALT and KEY_CTRL when Param1 equals to 0
9293

9394
Note that all true-color capable messages extend but don't replace 'base' 16 palette colors. This is done intentionally as far2l may run in terminal that doesn't support true color palette, and in such case 24bit colors will be ignored and base palette attributes will be used instead.
9495

NetRocks/CMakeLists.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ src/UI/Settings/ExtraSiteSettings.cpp
2323
src/UI/Settings/ProxySettings.cpp
2424
src/UI/Settings/ConfigureProtocolSFTPSCP.cpp
2525
src/UI/Settings/ConfigureProtocolFTP.cpp
26+
src/UI/Settings/ConfigureProtocolAWS.cpp
2627
src/UI/Settings/ConfigureProtocolSMB.cpp
2728
src/UI/Settings/ConfigureProtocolNFS.cpp
2829
src/UI/Settings/ConfigureProtocolWebDAV.cpp
@@ -177,6 +178,26 @@ if (LIBNEON_FOUND AND ((NOT DEFINED NR_WEBDAV) OR NR_WEBDAV))
177178
SUFFIX ".broker")
178179
endif ()
179180

181+
if (AWSSDK_FOUND AND ((NOT DEFINED NR_AWS) OR NR_AWS))
182+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHAVE_AWS")
183+
add_executable (NetRocks-AWS
184+
${PROTOCOL_SOURCES}
185+
src/Protocol/AWS/AWSFile.cpp
186+
src/Protocol/AWS/AWSFileWriter.cpp
187+
src/Protocol/AWS/AWSFileReader.cpp
188+
src/Protocol/AWS/S3Repository.cpp
189+
src/Protocol/AWS/ProtocolAWS.cpp
190+
)
191+
target_include_directories(NetRocks-AWS PRIVATE src ${AWSSDK_INCLUDE_DIR})
192+
target_link_libraries(NetRocks-AWS utils ${AWSSDK_LINK_LIBRARIES})
193+
194+
set_target_properties(NetRocks-AWS
195+
PROPERTIES
196+
RUNTIME_OUTPUT_DIRECTORY "${INSTALL_DIR}/Plugins/NetRocks/plug"
197+
PREFIX ""
198+
SUFFIX ".broker")
199+
endif ()
200+
180201
add_executable (NetRocks-FTP
181202
${PROTOCOL_SOURCES}
182203
src/Protocol/FTP/ProtocolFTP.cpp

NetRocks/configs/plug/bel.lng

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,3 +316,13 @@
316316
"Не выкарыстоўваць праксіфікатар"
317317
"Выкарыстоўваны &праксіфікатар:"
318318
"&Рэдагаваць канфігурацыю праксіфікатара"
319+
320+
"Ховішча AWS S3"
321+
"Карыстальніцкі агент"
322+
"Рэгіён"
323+
"Выкарыстоўваць праксы"
324+
"Хост праксы"
325+
"Порт праксы"
326+
"Пракса з аўтэнтыфікацыяй"
327+
"Імя карыстальніка праксы"
328+
"Пароль праксы"

NetRocks/configs/plug/eng.lng

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,3 +316,13 @@
316316
"Not using proxifier"
317317
"&Proxifier kind to use:"
318318
"&Edit proxifier configuration"
319+
320+
"AWS S3 Storage"
321+
"User agent"
322+
"Region"
323+
"Use proxy"
324+
"Proxy host"
325+
"Proxy port"
326+
"Auth proxy"
327+
"Proxy username"
328+
"Proxy password"

NetRocks/configs/plug/rus.lng

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,3 +316,13 @@
316316
"Не использовать проксификатор"
317317
"Используемый &проксификатор:"
318318
"&Редактировать конфигурацию проксификатора"
319+
320+
"Хранилище AWS S3"
321+
"Пользовательский агент"
322+
"Регион"
323+
"Использовать прокси"
324+
"Хост прокси"
325+
"Порт прокси"
326+
"Прокси с аутентификацией"
327+
"Имя пользователя прокси"
328+
"Пароль прокси"

0 commit comments

Comments
 (0)