Skip to content

Commit

Permalink
update build
Browse files Browse the repository at this point in the history
  • Loading branch information
jeanslack committed Jul 24, 2024
1 parent 5ad75cd commit 54e197c
Show file tree
Hide file tree
Showing 6 changed files with 185 additions and 112 deletions.
11 changes: 11 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,17 @@ License: GPL3

Change Log:

+------------------------------------+
Wed, 24 July 2024 V.5.0.20

* Added requirements-linux.txt to build videomass wheel from source.
* Update INSTALL file. It now also includes the manual procedure for compiling
the language catalog using included scripts.
* Added *.mo item to .gitignore file to auto-escludes that item.
* Fix pyproject.toml file (added artifacts to include MO files on wheel binary
even if the `*.mo` item is present on the .gitignore file).
* Update dependencies list on hatchling.toml file.

+------------------------------------+
Thue, 18 July 2024 V.5.0.18

Expand Down
104 changes: 69 additions & 35 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@

VIDEOMASS INSTALLATION INSTRUCTIONS AND BUILDINGS

-----------------------------
=============================
Base application dependencies
-----------------------------
=============================

Requires:
- Python >=3.8.0 <=3.12.0
Expand All @@ -12,11 +13,11 @@ Base application dependencies
- FFmpeg (included ffplay and ffprobe) >=5.1
Optionals:
- yt-dlp >=2024.04.09
- atomicparsley (to embed thumbnail in audio file)
- atomicparsley (to embed thumbnail in audio file)

-------------------------
=========================
Run from source directory
-------------------------
=========================

Videomass can be run without installing by extracting the source archive
and executing the "launcher" script inside the source Videomass directory.
Expand All @@ -30,47 +31,63 @@ Videomass can also be imported from the Python3 console (interactive mode):
>>> from videomass import gui_app
>>> gui_app.main()

--------------------------------------
=====================================
Compiles language translation catalog
--------------------------------------
=====================================

By default Videomass does not include the compiled catalog for language
translations, i.e. `videomass.mo` files, especially on source code. If this
is your case and you want to compile the language catalog to make the
translations available on Videomass, use one of the following options based on
your operating system requirements:
translations, i.e. `videomass.mo` files, especially on development source code.
If you want to compile the language catalog to make the translations available
on Videomass, use one of the following options based on your operating system
requirements:

- Using `generate_MO_files.sh` shell script (only for Linux, FreeBSD, MacOs)
Using `generate_MO_files.sh` shell script (only for Linux, FreeBSD, MacOs)
--------------------------------------------------------------------------

Requires:
- shell (/bin/bash)
- msgfmt (from GNU-gettext)

cd Videomass (source directory)

./develop/gettext_utils/generate_MO_files.sh

- Using `babelutils.py` python script (multi-platform)

Using `babelutils.py` python script (multi-platform)
----------------------------------------------------

Requires:
- babel (also installable via pip)

cd Videomass (source directory)

python3 develop/gettext_utils/babelutils.py --compile-catalogs --output-dir videomass/data/locale --domain videomass

-----------------------

======================
Installation using pip
-----------------------
======================

- Installing on Linux/FreeBSD:
Requires:
- Python >=3.8.0 <=3.12.0
- pip
- venv

IMPORTANT! Before installing Videomass make sure to install wxPython from
your Linux distribution's package manager first. This will avoid having pip
install a version of wxPython that is not a `manylinux` package.

Installing on Linux/FreeBSD:
----------------------------

IMPORTANT!
Before pip install Videomass make sure to install wxPython from your Linux
distribution's package manager. This will prevent pip from attempting to
build wxPython from source, as wxPython's PyPi wheels only provides support
for Windows and MacOS.

This assumes installation in a virtual environment using python3-venv
module, like this:
module with `--system-site-package` option, like this:

python3 -m venv --system-site-packages --upgrade-deps VENV

source VENV/bin/activate

To install videomass type:
Expand All @@ -79,12 +96,15 @@ Installation using pip
Optionally install yt-dlp:
python3 -m pip install yt-dlp

- Installing on Windows and MacOs:

Installing on Windows and MacOs:
--------------------------------

This assumes installation in a virtual environment using python3-venv
module, like this:

python -m venv --upgrade-deps VENV

source VENV/bin/activate

To install videomass type:
Expand All @@ -93,55 +113,69 @@ Installation using pip
Optionally install yt-dlp:
python3 -m pip install yt-dlp

- To Update on Windows, MacOs, Linux, FreeBSD:

To Update on Windows, MacOs, Linux, FreeBSD:
--------------------------------------------

python3 -m pip install --upgrade videomass

- To uninstall on Windows, MacOs, Linux, FreeBSD:

To uninstall on Windows, MacOs, Linux, FreeBSD:
-----------------------------------------------

python3 -m pip uninstall videomass


Please, Visit the Wiki page for more info:
<https://github.com/jeanslack/Videomass/wiki/Installation-using-pip>

------------------------------
==============================
Build as standalone executable
------------------------------
==============================

This build a standalone executable package only compatible for the operating
system in use. The current supported OS are Windows, MacOs, Linux.

This build a standalone executable package for OS in use. The current supported
OS are Windows, MacOs, Linux.
It is assumed that you are working on a virtual environment created with
the `venv` or `virtualenv` module and that you have installed the `Base
application dependencies` described at the beginning of this file.

Requires:
- pyinstaller
- babel

cd Videomass (source directory)
activate a virtual environment first

Use the `pyinstaller_setup.py` script like this:
cd Videomass (source directory)

python3 -m pip install pyinstaller babel

python3 develop/tools/pyinstaller_setup.py -h
Use the `pyinstaller_setup.py` script like this:

Then choose the build option you want.
python3 develop/tools/pyinstaller_setup.py --gen-spec --build

---------------------
=====================
Build sdist and wheel
---------------------
=====================

Requires:
- hatchling
- pkginfo
- build
- wheel
- babel

cd Videomass (source directory)

python3 -m build


For more info visit: <https://packaging.python.org/tutorials/packaging-projects/>

------------------------------------------------------

======================================================
Make a Debian source package from upstream source code
------------------------------------------------------
======================================================

This will transform upstream source code into policy-compliant binary packages.

Expand Down
12 changes: 12 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
videomass (5.0.20-1) UNRELEASED; urgency=medium

* Added requirements-linux.txt to build videomass wheel from source.
* Update INSTALL file. It now also includes the manual procedure for compiling
the language catalog using included scripts.
* Added *.mo item to .gitignore file to auto-escludes that item.
* Fix pyproject.toml file (added artifacts to include MO files on wheel binary
even if the `*.mo` item is present on the .gitignore file).
* Update dependencies list on hatchling.toml file.

-- Gianluca Pernigotto <[email protected]> Wed, 24 Jul 2024 00:00:00 +0200

videomass (5.0.18-1) UNRELEASED; urgency=medium

* Created new gettext utilities.
Expand Down
Loading

0 comments on commit 54e197c

Please sign in to comment.