Skip to content

Commit 27d4325

Browse files
committed
Merged changes
2 parents 6ade049 + 5a146e2 commit 27d4325

File tree

424 files changed

+355228
-339497
lines changed

Some content is hidden

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

424 files changed

+355228
-339497
lines changed

.gitlab-ci.yml

+9-9
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ linux-builder:
2222
- git log $(git describe --tags --abbrev=0 @^)..@ --oneline --pretty=format:"%C(auto,yellow)%h%C(auto,magenta)% %C(auto,blue)%>(12,trunc)%ad %C(auto,green)%<(25,trunc)%aN%C(auto,reset)%s%C(auto,red)% gD% D" --date=short > "build/install-x64/share/$CI_PROJECT_NAME.log"
2323
- cd doc; make html SPHINXOPTS="-D html_theme_options.analytics_id=UA-4381101-5"; cd ..;
2424
- ~/auto-update-sphinx "$CI_PROJECT_DIR/build" "$CI_COMMIT_REF_NAME"
25-
- python3 freeze.py build
25+
- python3 -u freeze.py build
2626
- /bin/sh ./installer/mangle-hw-libs.sh "build/exe.linux-x86_64-3.4/"
27-
- python3 installer/build-server.py "$SLACK_TOKEN" "$S3_ACCESS_KEY" "$S3_SECRET_KEY" "$WINDOWS_KEY" "$WINDOWS_PASSWORD" "$GITHUB_USER" "$GITHUB_PASS" "False" "$CI_COMMIT_REF_NAME"
27+
- python3 -u installer/build-server.py "$SLACK_TOKEN" "$S3_ACCESS_KEY" "$S3_SECRET_KEY" "$WINDOWS_KEY" "$WINDOWS_PASSWORD" "$GITHUB_USER" "$GITHUB_PASS" "False" "$CI_COMMIT_REF_NAME"
2828
when: always
2929
except:
3030
- tags
3131
tags:
32-
- linux
32+
- linux-bionic
3333

3434
mac-builder:
3535
stage: build-openshot-qt
@@ -63,8 +63,8 @@ mac-builder:
6363
- export DYLD_LIBRARY_PATH=$CI_PROJECT_DIR/build/install-x64/lib:DYLD_LIBRARY_PATH
6464
- echo -e "CI_PROJECT_NAME:$CI_PROJECT_NAME\nCI_COMMIT_REF_NAME:$CI_COMMIT_REF_NAME\nCI_COMMIT_SHA:$CI_COMMIT_SHA\nCI_JOB_ID:$CI_JOB_ID" > "build/install-x64/share/$CI_PROJECT_NAME"
6565
- git log $(git describe --tags --abbrev=0 @^)..@ --oneline --pretty=format:"%C(auto,yellow)%h%C(auto,magenta)% %C(auto,blue)%>(12,trunc)%ad %C(auto,green)%<(25,trunc)%aN%C(auto,reset)%s%C(auto,red)% gD% D" --date=short > "build/install-x64/share/$CI_PROJECT_NAME.log"
66-
- /Library/Frameworks/Python.Framework/Versions/3.6/bin/python3.6 freeze.py bdist_mac --iconfile=installer/openshot.icns --custom-info-plist=installer/Info.plist --bundle-name="OpenShot Video Editor"
67-
- /Library/Frameworks/Python.Framework/Versions/3.6/bin/python3.6 installer/build-server.py "$SLACK_TOKEN" "$S3_ACCESS_KEY" "$S3_SECRET_KEY" "$WINDOWS_KEY" "$WINDOWS_PASSWORD" "$GITHUB_USER" "$GITHUB_PASS" "False" "$CI_COMMIT_REF_NAME"
66+
- /Library/Frameworks/Python.Framework/Versions/3.6/bin/python3.6 -u freeze.py bdist_mac --iconfile=installer/openshot.icns --custom-info-plist=installer/Info.plist --bundle-name="OpenShot Video Editor"
67+
- /Library/Frameworks/Python.Framework/Versions/3.6/bin/python3.6 -u installer/build-server.py "$SLACK_TOKEN" "$S3_ACCESS_KEY" "$S3_SECRET_KEY" "$WINDOWS_KEY" "$WINDOWS_PASSWORD" "$GITHUB_USER" "$GITHUB_PASS" "False" "$CI_COMMIT_REF_NAME"
6868
when: always
6969
except:
7070
- tags
@@ -90,8 +90,8 @@ windows-builder-x64:
9090
- New-Item -path "build/install-x64/share/" -Name "$CI_PROJECT_NAME" -Value "CI_PROJECT_NAME:$CI_PROJECT_NAME`nCI_COMMIT_REF_NAME:$CI_COMMIT_REF_NAME`nCI_COMMIT_SHA:$CI_COMMIT_SHA`nCI_JOB_ID:$CI_JOB_ID" -ItemType file -force
9191
- $PREV_GIT_LABEL=(git describe --tags --abbrev=0 '@^')
9292
- git log "$PREV_GIT_LABEL..@" --oneline --pretty=format:"%C(auto,yellow)%h%C(auto,magenta)% %C(auto,blue)%>(12,trunc)%ad %C(auto,green)%<(25,trunc)%aN%C(auto,reset)%s%C(auto,red)% gD% D" --date=short > "build/install-x64/share/$CI_PROJECT_NAME.log"
93-
- python3 freeze.py build
94-
- python3 installer/build-server.py "$SLACK_TOKEN" "$S3_ACCESS_KEY" "$S3_SECRET_KEY" "$WINDOWS_KEY" "$WINDOWS_PASSWORD" "$GITHUB_USER" "$GITHUB_PASS" "False" "$CI_COMMIT_REF_NAME"
93+
- python3 -u freeze.py build
94+
- python3 -u installer/build-server.py "$SLACK_TOKEN" "$S3_ACCESS_KEY" "$S3_SECRET_KEY" "$WINDOWS_KEY" "$WINDOWS_PASSWORD" "$GITHUB_USER" "$GITHUB_PASS" "False" "$CI_COMMIT_REF_NAME"
9595
when: always
9696
except:
9797
- tags
@@ -117,9 +117,9 @@ windows-builder-x86:
117117
- New-Item -path "build/install-x86/share/" -Name "$CI_PROJECT_NAME" -Value "CI_PROJECT_NAME:$CI_PROJECT_NAME`nCI_COMMIT_REF_NAME:$CI_COMMIT_REF_NAME`nCI_COMMIT_SHA:$CI_COMMIT_SHA`nCI_JOB_ID:$CI_JOB_ID" -ItemType file -force
118118
- $PREV_GIT_LABEL=(git describe --tags --abbrev=0 '@^')
119119
- git log "$PREV_GIT_LABEL..@" --oneline --pretty=format:"%C(auto,yellow)%h%C(auto,magenta)% %C(auto,blue)%>(12,trunc)%ad %C(auto,green)%<(25,trunc)%aN%C(auto,reset)%s%C(auto,red)% gD% D" --date=short > "build/install-x86/share/$CI_PROJECT_NAME.log"
120-
- python3 freeze.py build
120+
- python3 -u freeze.py build
121121
- editbin /LARGEADDRESSAWARE "$CI_PROJECT_DIR\build\exe.mingw-3.7\openshot-qt.exe"
122-
- python3 installer/build-server.py "$SLACK_TOKEN" "$S3_ACCESS_KEY" "$S3_SECRET_KEY" "$WINDOWS_KEY" "$WINDOWS_PASSWORD" "$GITHUB_USER" "$GITHUB_PASS" "True" "$CI_COMMIT_REF_NAME"
122+
- python3 -u installer/build-server.py "$SLACK_TOKEN" "$S3_ACCESS_KEY" "$S3_SECRET_KEY" "$WINDOWS_KEY" "$WINDOWS_PASSWORD" "$GITHUB_USER" "$GITHUB_PASS" "True" "$CI_COMMIT_REF_NAME"
123123
when: always
124124
except:
125125
- tags

.travis.yml

+10-3
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,17 @@ addons:
1818
- python3-pyqt5.qtmultimedia
1919
- python3-pyqt5.qtopengl
2020
- python3-pyqt5.qtsvg
21-
- python3-pyqt5.qtwebkit
21+
- python3-pyqt5.qtwebengine
2222
- python3-requests
2323
- python3-xdg
2424
- python3-zmq
2525
- qttranslations5-l10n
2626
- xvfb
2727

28-
matrix:
28+
jobs:
29+
allow_failures:
30+
- name: "Python 3.5 (Ubuntu 16.04 Xenial)"
31+
2932
include:
3033
- name: "Python 3.5 (Ubuntu 16.04 Xenial)"
3134
os: linux
@@ -35,9 +38,13 @@ matrix:
3538
os: linux
3639
dist: bionic
3740
python: 3.6
41+
- name: "Python 3.8 (Ubuntu 20.04 Focal)"
42+
os: linux
43+
dist: focal
44+
python: 3.8
3845

3946
install:
40-
- pip3 install cx-freeze
47+
- pip3 install 'cx-freeze==6.1'
4148

4249
script:
4350
- python3 freeze.py build

freeze.py

+50-24
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@
7676
"openshot",
7777
"time",
7878
"uuid",
79+
"idna",
7980
"shutil",
8081
"threading",
8182
"subprocess",
@@ -90,6 +91,9 @@
9091
"json"
9192
]
9293

94+
# Modules to include
95+
python_modules = ["idna.idnadata"]
96+
9397
# Determine absolute PATH of OpenShot folder
9498
PATH = os.path.dirname(os.path.realpath(__file__)) # Primary openshot folder
9599

@@ -210,6 +214,27 @@ def find_files(directory, patterns):
210214
if os.path.exists(resvg_path):
211215
external_so_files.append((resvg_path, os.path.basename(resvg_path)))
212216

217+
# Add QtWebEngineProcess (if found)
218+
web_process_path = ARCHLIB + "qt5/libexec/QtWebEngineProcess"
219+
external_so_files.append((web_process_path, os.path.basename(web_process_path)))
220+
221+
# Add QtWebEngineProcess Resources & Local
222+
qt5_path = "/usr/share/qt5/"
223+
for filename in find_files(os.path.join(qt5_path, "resources"), ["*"]):
224+
external_so_files.append((filename, os.path.relpath(filename, start=qt5_path)))
225+
for filename in find_files(os.path.join(qt5_path, "translations", "qtwebengine_locales"), ["*"]):
226+
external_so_files.append((filename, os.path.relpath(filename, start=qt5_path)))
227+
228+
# Add Qt xcbglintegrations plugin
229+
xcbgl_path = ARCHLIB + "qt5/"
230+
for filename in find_files(os.path.join(xcbgl_path, "plugins", "xcbglintegrations"), ["*"]):
231+
external_so_files.append((filename, os.path.relpath(filename, start=xcbgl_path)))
232+
233+
# Add libsoftokn3
234+
nss_path = ARCHLIB + "nss/"
235+
for filename in find_files(nss_path, ["*"]):
236+
external_so_files.append((filename, os.path.basename(filename)))
237+
213238
# Append Linux ICON file
214239
iconFile += ".svg"
215240
src_files.append((os.path.join(PATH, "xdg", iconFile), iconFile))
@@ -223,7 +248,7 @@ def find_files(directory, patterns):
223248
# Get a list of all openshot.so dependencies (scan these libraries for their dependencies)
224249
pyqt5_mod_files = []
225250
from importlib import import_module
226-
for submod in ['Qt', 'QtWebKit', 'QtSvg', 'QtWebKitWidgets', 'QtWidgets', 'QtCore', 'QtGui', 'QtDBus']:
251+
for submod in ['Qt', 'QtWebEngine', 'QtWebEngineWidgets', 'QtSvg', 'QtWidgets', 'QtCore', 'QtGui', 'QtDBus']:
227252
mod_name = "PyQt5.{}".format(submod)
228253
mod = import_module(mod_name)
229254
pyqt5_mod_files.append(inspect.getfile(mod))
@@ -281,33 +306,14 @@ def find_files(directory, patterns):
281306
"libpangocairo-1.0.so.0",
282307
"libpangoft2-1.0.so.0",
283308
"libharfbuzz.so.0",
284-
"libthai.so.0",
285-
]
286-
and not libpath_file.startswith("libxcb-")
287-
) \
288-
or libpath_file in ["libgcrypt.so.11", "libQt5DBus.so.5", "libpng12.so.0", "libbz2.so.1.0", "libqxcb.so"]:
289-
309+
"libthai.so.0" ]
310+
) or libpath_file in ["libgcrypt.so.11", "libQt5DBus.so.5", "libpng12.so.0",
311+
"libbz2.so.1.0", "libqxcb.so", "libxcb-xinerama.so.0", "libpcre.so.3"]:
290312
# Ignore missing files
291313
if os.path.exists(libpath):
292314
filepath, filename = os.path.split(libpath)
293315
external_so_files.append((libpath, filename))
294316

295-
# Manually add missing files (that were missed in the above step). These files are required
296-
# for certain distros (like Fedora, openSUSE, Debian, etc...)
297-
# Also add Glib related files (required for some distros)
298-
299-
for added_lib in [ARCHLIB + "libssl.so",
300-
ARCHLIB + "libcrypto.so",
301-
ARCHLIB + "libglib-2.0.so",
302-
ARCHLIB + "libgio-2.0.so",
303-
ARCHLIB + "libgmodule-2.0.so",
304-
ARCHLIB + "libthread-2.0.so"
305-
]:
306-
if os.path.exists(added_lib):
307-
external_so_files.append((added_lib, os.path.basename(added_lib)))
308-
else:
309-
log.warning("{}: not found, skipping".format(added_lib))
310-
311317
elif sys.platform == "darwin":
312318
# Copy Mac specific files that cx_Freeze misses
313319
# JPEG library
@@ -321,12 +327,31 @@ def find_files(directory, patterns):
321327

322328
# Copy openshot.py Python bindings
323329
src_files.append((os.path.join(PATH, "openshot.py"), "openshot.py"))
324-
src_files.append((os.path.join(PATH, "installer", "launch-mac.sh"), "launch-mac.sh"))
330+
src_files.append((os.path.join(PATH, "installer", "launch-mac"), "launch-mac"))
325331

326332
# Append Mac ICON file
327333
iconFile += ".hqx"
328334
src_files.append((os.path.join(PATH, "xdg", iconFile), iconFile))
329335

336+
# Add QtWebEngineProcess (if found)
337+
qt_install_path = "/usr/local/qt5.15.X/qt5.15/5.15.0/clang_64/"
338+
qt_webengine_path = os.path.join(qt_install_path, "lib", "QtWebEngineCore.framework", "Versions", "5")
339+
web_process_path = os.path.join(qt_webengine_path, "Helpers", "QtWebEngineProcess.app", "Contents", "MacOS", "QtWebEngineProcess")
340+
web_core_path = os.path.join(qt_webengine_path, "QtWebEngineCore")
341+
external_so_files.append((web_process_path, os.path.basename(web_process_path)))
342+
external_so_files.append((web_core_path, os.path.basename(web_core_path)))
343+
344+
# Add QtWebEngineProcess Resources & Local
345+
for filename in find_files(os.path.join(qt_webengine_path, "Resources"), ["*"]):
346+
external_so_files.append((filename, os.path.relpath(filename, start=os.path.join(qt_webengine_path, "Resources"))))
347+
for filename in find_files(os.path.join(qt_webengine_path, "Resources", "qtwebengine_locales"), ["*"]):
348+
external_so_files.append((filename, os.path.relpath(filename, start=os.path.join(qt_webengine_path, "Resources"))))
349+
for filename in find_files(os.path.join(qt_install_path, "plugins"), ["*"]):
350+
relative_filepath = os.path.relpath(filename, start=os.path.join(qt_install_path, "plugins"))
351+
plugin_name = os.path.dirname(relative_filepath)
352+
if plugin_name not in ["sqldrivers", "playlistformats", "gamepads", "bearer"]:
353+
external_so_files.append((filename, relative_filepath))
354+
330355
# Append all source files
331356
src_files.append((os.path.join(PATH, "installer", "qt.conf"), "qt.conf"))
332357
for filename in find_files("openshot_qt", ["*"]):
@@ -335,6 +360,7 @@ def find_files(directory, patterns):
335360
# Dependencies are automatically detected, but it might need fine tuning.
336361
build_exe_options["packages"] = python_packages
337362
build_exe_options["include_files"] = src_files + external_so_files
363+
build_exe_options["includes"] = python_modules
338364

339365
# Set options
340366
build_options["build_exe"] = build_exe_options

images/AboutLogo.png

24.6 KB
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)