Skip to content

Commit 385095c

Browse files
committed
fix: IDA 9.2 linux target work-in-progress
1 parent 8460524 commit 385095c

1 file changed

Lines changed: 73 additions & 25 deletions

File tree

.github/workflows/ci.yml

Lines changed: 73 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ on:
1111

1212
env:
1313
LINUX_QTDIR: /home/alex/tmp/investigate/5.15.2/build/qt-5.12.2-patched-qt-ns
14+
LINUX_QTDIR_QT6: /home/alex/tmp/6.8.2-ubuntu2004_amd64-qt-ns
1415
MACOS_QTDIR: /Users/Shared/Qt/5.15.2-arm64
1516
MACOS_QTDIR_QT6: /Users/Shared/Qt/6.8.2-arm64-qt-ns
1617

@@ -38,12 +39,6 @@ jobs:
3839
- name: Checkout code
3940
uses: actions/checkout@v3
4041

41-
# - name: Restore VS Toolset Cache
42-
# if: runner.os == 'Windows'
43-
# uses: actions/cache@v3
44-
# with:
45-
# path: C:\Program Files (x86)\Microsoft Visual Studio
46-
# key: vs-toolset-v140
4742

4843
- name: Set outputs Non-Windows
4944
if: runner.os != 'Windows'
@@ -77,13 +72,14 @@ jobs:
7772
echo "ROOT_DIR=$(dirname `pwd`)" >> $GITHUB_ENV
7873
echo "QT_DIR=${LINUX_QTDIR}" >> $GITHUB_ENV
7974
echo "QMAKE=${LINUX_QTDIR}/bin/qmake" >> $GITHUB_ENV
75+
echo "QMAKE_QT6=${LINUX_QTDIR_QT6}/bin/qmake" >> $GITHUB_ENV
8076
echo "PROTOBUF_PREFIX=$(pwd)/3rdparty/protobuf-3.20.3/dist" >> $GITHUB_ENV
8177
sudo apt-get install -y build-essential curl cmake libgl1-mesa-dev libfontconfig1-dev libdbus-1-dev \
8278
libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev \
8379
libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev \
8480
libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev
85-
sudo mkdir -p "$(dirname ${LINUX_QTDIR})"
86-
sudo chown $USER: "$(dirname ${LINUX_QTDIR})"
81+
sudo mkdir -p "$(dirname ${LINUX_QTDIR})" "${{ env.LINUX_QTDIR_QT6 }}"
82+
sudo chown $USER: "$(dirname ${LINUX_QTDIR})" "${{ env.LINUX_QTDIR_QT6 }}"
8783
8884
- name: Set up MacOS environment
8985
if: runner.os == 'macOS'
@@ -96,26 +92,44 @@ jobs:
9692
sudo mkdir -p "$(dirname ${MACOS_QTDIR})"
9793
sudo chown $USER: "$(dirname ${MACOS_QTDIR})"
9894
99-
- name: Linux Qt Cache
95+
- name: Linux Qt5 Cache
10096
if: runner.os == 'Linux'
10197
uses: actions/cache@v3
102-
id: linux_qt_cache
98+
id: linux_qt5_cache
10399
with:
104100
# maybe we should use some env var for root path?
105-
path: ${{ env.QT_DIR }}
106-
key: linux-qt-patched3
101+
path: ${{ env.LINUX_QTDIR }}
102+
key: linux-qt-patched-5
103+
104+
- name: Linux Qt6 Cache
105+
if: runner.os == 'Linux'
106+
uses: actions/cache@v3
107+
id: linux_qt6_cache
108+
with:
109+
# maybe we should use some env var for root path?
110+
path: ${{ env.LINUX_QTDIR_QT6 }}
111+
key: linux-qt-patched-6
107112

108113
- name: MacOS Qt Cache
109114
if: runner.os == 'Linux'
110115
uses: actions/cache@v3
111-
id: macos_arm64_qt_cache
116+
id: macos_arm64_qt5_cache
112117
with:
113118
# maybe we should use some env var for root path?
114-
path: ${{ env.QT_DIR }}
115-
key: macos-qt-patched
116-
117-
- name: Linux, Set up Qt
118-
if: runner.os == 'Linux' && steps.linux_qt_cache.outputs.cache-hit != 'true'
119+
path: ${{ env.MACOS_QTDIR }}
120+
key: macos-qt-patched-5
121+
122+
- name: MacOS Qt Cache
123+
if: runner.os == 'Linux'
124+
uses: actions/cache@v3
125+
id: macos_arm64_qt6_cache
126+
with:
127+
# maybe we should use some env var for root path?
128+
path: ${{ env.MACOS_QTDIR_QT6 }}
129+
key: macos-qt-patched-6
130+
131+
- name: Linux, Set up Qt5
132+
if: runner.os == 'Linux' && steps.linux_qt5_cache.outputs.cache-hit != 'true'
119133
run: |
120134
sudo mkdir -p "${{ env.QT_DIR }}"
121135
sudo chown $USER: "${{ env.QT_DIR }}"
@@ -134,24 +148,45 @@ jobs:
134148
#make install
135149
popd
136150
"${{ env.QMAKE }}" -query
151+
152+
- name: Linux, Set up Qt6
153+
if: runner.os == 'Linux' && steps.linux_qt6_cache.outputs.cache-hit != 'true'
154+
run: |
155+
# build command line:
156+
sudo mkdir -p "${{ env.QT_DIR }}"
157+
sudo chown $USER: "${{ env.QT_DIR }}"
158+
pushd "${{ env.LINUX_QTDIR_QT6 }}"
159+
curl -L 'https://github.com/a1ext/depz/raw/refs/heads/master/6.8.2-ubuntu2004_amd64-qt-ns.tar.gz?download=' -o 6.8.2-ubuntu2004_amd64-qt-ns.tar.gz
160+
tar xf 6.8.2-ubuntu2004_amd64-qt-ns.tar.gz && rm -f 6.8.2-ubuntu2004_amd64-qt-ns.tar.gz
161+
ls -la
162+
popd
163+
"${{ env.QMAKE_QT6 }}" -query
137164
138-
- name: MacOS, Set up Qt
139-
if: runner.os == 'macOS' && steps.macos_arm64_qt_cache.outputs.cache-hit != 'true'
165+
- name: MacOS, Set up Qt5
166+
if: runner.os == 'macOS' && steps.macos_arm64_qt5_cache.outputs.cache-hit != 'true'
140167
run: |
141-
sudo mkdir -p "${{ env.QT_DIR }}" "${{ env.MACOS_QTDIR_QT6 }}"
142-
sudo chown $USER: "${{ env.QT_DIR }}" "${{ env.MACOS_QTDIR_QT6 }}"
168+
sudo mkdir -p "${{ env.QT_DIR }}"
169+
sudo chown $USER: "${{ env.QT_DIR }}"
143170
144171
pushd "${{ env.QT_DIR }}"
145172
curl -L 'https://github.com/a1ext/depz/raw/refs/heads/master/Qt-5.15.2-arm64.tar.gz?download=' -o Qt-5.15.2-arm64.tar.gz
146173
tar xf Qt-5.15.2-arm64.tar.gz && rm -f Qt-5.15.2-arm64.tar.gz
147174
ls -la
148175
popd
176+
177+
"${{ env.QMAKE }}" -query
178+
179+
- name: MacOS, Set up Qt6
180+
if: runner.os == 'macOS' && steps.macos_arm64_qt6_cache.outputs.cache-hit != 'true'
181+
run: |
182+
sudo mkdir -p "${{ env.MACOS_QTDIR_QT6 }}"
183+
sudo chown $USER: "${{ env.MACOS_QTDIR_QT6 }}"
184+
149185
pushd "${{ env.MACOS_QTDIR_QT6 }}"
150186
curl -L 'https://github.com/a1ext/depz/raw/refs/heads/master/Qt-6.8.2-arm64-qt-ns.tar.gz?download=' -o Qt-6.8.2-arm64-qt-ns.tar.gz
151187
tar xf Qt-6.8.2-arm64-qt-ns.tar.gz && rm -f Qt-6.8.2-arm64-qt-ns.tar.gz
152188
ls -la
153189
popd
154-
"${{ env.QMAKE }}" -query
155190
"${{ env.QMAKE_QT6 }}" -query
156191
157192
- name: Linux, protobuf cache
@@ -201,7 +236,7 @@ jobs:
201236
run: |
202237
curl https://github.com/a1ext/depz/raw/master/depz.7z -L -o ./depz.7z
203238
7z x "-p${{ env.LL_DEPS_P }}" ./depz.7z
204-
ln -s "$(pwd)/depz/idasdk90sp1" "$(dirname `pwd`)/idasdk92"
239+
ln -s "$(pwd)/depz/idasdk92" "$(dirname `pwd`)/idasdk92"
205240
ln -s "$(pwd)/depz/idasdk90sp1" "$(dirname `pwd`)/idasdk90sp1"
206241
ln -s "$(pwd)/depz/idasdk_pro83" "$(dirname `pwd`)/idasdk_pro83"
207242
ln -s "$(pwd)/depz/idasdk70" "$(dirname `pwd`)/idasdk70"
@@ -253,7 +288,7 @@ jobs:
253288
make -j$(nproc)
254289
255290
256-
- name: Linux, build IDA 9 plugin
291+
- name: Linux, build IDA 9.0 plugin
257292
if: runner.os == 'Linux'
258293
env:
259294
SDK_PATH: ${{ github.workspace }}/../idasdk90sp1
@@ -265,6 +300,19 @@ jobs:
265300
make qmake_all
266301
make clean
267302
make -j$(nproc)
303+
304+
- name: Linux, build IDA 9.2 plugin
305+
if: runner.os == 'Linux'
306+
env:
307+
SDK_PATH: ${{ github.workspace }}/../idasdk92
308+
IDA_PATH: ${{ github.workspace }}/build
309+
run: |
310+
cd ./build
311+
mkdir -p plugins
312+
SDK_PATH="${{ env.SDK_PATH }}" IDA_PATH="${{ env.IDA_PATH }}" "${{ env.QMAKE }}" ../labeless_ida/labeless_ida.pro -spec linux-g++-64 CONFIG+=release CONFIG+=labeless_ida_92 CONFIG+=ea64
313+
make qmake_all
314+
make clean
315+
make -j$(nproc)
268316
269317
- name: MacOS, build IDA 8 plugin
270318
if: runner.os == 'macOS'

0 commit comments

Comments
 (0)