mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-24 02:02:36 -04:00
Adding a makefile to install the app
This commit is contained in:
parent
126dff2fec
commit
d0527625d0
60
Makefile
Normal file
60
Makefile
Normal file
@ -0,0 +1,60 @@
|
||||
FFMPEG = transcoder/ffmpeg
|
||||
CONF_FFMEG = $(FFMPEG)/config.h
|
||||
FFMPEG_CONF = $(FFMPEG)/configure
|
||||
FFMPEG_OPT = --pkg-config-flags=--static \
|
||||
--disable-shared \
|
||||
--enable-static \
|
||||
--disable-asm \
|
||||
--disable-zlib \
|
||||
--disable-iconv \
|
||||
--disable-ffplay \
|
||||
--disable-ffprobe \
|
||||
--disable-ffmpeg
|
||||
|
||||
TRANSCODER_DIR = transcoder/build
|
||||
|
||||
NEEDED = dotnet \
|
||||
cmake \
|
||||
gcc \
|
||||
node \
|
||||
npm
|
||||
|
||||
ECHO = @echo -e
|
||||
COL = \033[1;36m
|
||||
RED = \033[1;31m
|
||||
NOCOL = \033[0m
|
||||
|
||||
|
||||
all: dependencies transcoder
|
||||
|
||||
dependencies:
|
||||
@for pkg in $(NEEDED); do \
|
||||
$$pkg --version >> /dev/null 2>&1 || ($(ECHO) "$(RED)ERROR: $$pkg could not be found.$(NOCOL)"; exit 1); \
|
||||
done
|
||||
|
||||
$(CONF_FFMPEG):
|
||||
$(ECHO) "$(COL)Configuring FFMPEG$(NOCOL)"
|
||||
$(FFMPEG_CONF) $(FFMPEG_OPT)
|
||||
|
||||
ffmpeg: $(CONF_FFMPEG)
|
||||
$(ECHO) "$(COL)Building FFMPEG$(NOCOL)"
|
||||
$(MAKE) -C $(FFMPEG)
|
||||
|
||||
transcoder: ffmpeg
|
||||
$(ECHO) "$(COL)Building the transcoder$(NOCOL)"
|
||||
mkdir --parent $(TRANSCODER_DIR)
|
||||
cd $(TRANSCODER_DIR) && cmake .. && make
|
||||
mv $(TRANSCODER_DIR)/libtranscoder.so Kyoo/
|
||||
$(ECHO) "$(COL)Transcoder built$(NOCOL)"
|
||||
|
||||
|
||||
install: all
|
||||
$(ECHO) "$(COL)Building the app$(NOCOL)"
|
||||
@if ! [[ $$(mkdir --parent /opt/kyoo) -eq 0 && -w /opt/kyoo ]]; then echo -e "$(RED)You don't have permissions to install Kyoo. Try to re run with sudo privileges.$(NOCOL)"; exit 1; fi
|
||||
dotnet publish -c Release -o /opt/kyoo Kyoo/Kyoo.csproj
|
||||
id -u kyoo &> /dev/null || useradd -rU kyoo
|
||||
chown -R kyoo /opt/kyoo
|
||||
chgrp -R kyoo /opt/kyoo
|
||||
chmod +x /opt/kyoo/kyoo.sh
|
||||
|
||||
.PHONY = all dependencies ffmpeg transcoder
|
65
build.sh
65
build.sh
@ -1,65 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Checking for packages needed to compile the app.
|
||||
PKG_EXISTS=1
|
||||
dotnet --version >> /dev/null 2>&1
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo "FATAL: dotnet could not be found."
|
||||
PKG_EXISTS=false
|
||||
#Should check if the version is greater of equal to 3.0.100
|
||||
fi
|
||||
cmake --version >> /dev/null 2>&1
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo "FATAL: cmake could not be found."
|
||||
PKG_EXISTS=false
|
||||
fi
|
||||
gcc -v >> /dev/null 2>&1
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo "FATAL: gcc could not be found."
|
||||
PKG_EXISTS=false
|
||||
fi
|
||||
make -v >> /dev/null 2>&1
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo "FATAL: make could not be found."
|
||||
PKG_EXISTS=false
|
||||
fi
|
||||
node -v >> /dev/null 2>&1
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo "FATAL: node could not be found."
|
||||
PKG_EXISTS=false
|
||||
fi
|
||||
npm -v >> /dev/null 2>&1
|
||||
if [[ $? -ne 0 ]]; then
|
||||
echo "FATAL: npm could not be found."
|
||||
PKG_EXISTS=false
|
||||
fi
|
||||
|
||||
if [[ PKG_EXISTS -eq false ]]; then
|
||||
echo "Some requiered packages could not be found. Install them and run this script again."
|
||||
exit
|
||||
fi
|
||||
|
||||
echo "All packages are here, building the app..."
|
||||
|
||||
|
||||
# Configure ffmpeg.
|
||||
|
||||
echo "Building ffmpeg..."
|
||||
cd transcoder/ffmpeg
|
||||
if [[ ! -f "config.h" ]]; then
|
||||
./configure --pkg-config-flags=--static --disable-shared --enable-static --disable-zlib --disable-iconv --disable-asm --disable-ffplay --disable-ffprobe --disable-ffmpeg
|
||||
fi
|
||||
make
|
||||
cd ..
|
||||
echo "Done."
|
||||
|
||||
echo "Building the transcoder..."
|
||||
mkdir --parent build && cd build
|
||||
cmake ..
|
||||
make
|
||||
cd ../..
|
||||
echo "Done"
|
||||
|
||||
echo "Installing the transcoder..."
|
||||
mv transcoder/build/libtranscoder.so Kyoo/
|
||||
echo "Installation complete."
|
@ -1,16 +0,0 @@
|
||||
Make sure that the ffmpeg-src directory contains a blank snapshot of the ffmpeg source code.
|
||||
Open the Visual Studio Command Prompt with admin privilege (using the windows start menu).
|
||||
Make sure that msys64 is installed and nasm is inside the path
|
||||
Run: "C:\Program Files\Workspace\msys64\msys2_shell.cmd" -mingw64 -use-full-path
|
||||
Verify that items are link inside the new cmd windows (run which cl and run which link)
|
||||
Then cd to the ffmpeg source file (cd /c/Projects/Kyoo/ffmpeg-src)
|
||||
|
||||
Then configure the project:
|
||||
./configure --toolchain=msvc --disable-shared
|
||||
Or, if you want x64 builds use:
|
||||
./configure --toolchain=msvc --target-os=win64 --arch=x86_64 --disable-shared
|
||||
If it doesn't work, try this command: I think that the last part are useless.
|
||||
./configure --toolchain=msvc --disable-shared --enable-static --extra-libs=-static --extra-cflags=--static
|
||||
Then run "make".
|
||||
Then run "make install"
|
||||
The build can be found in the usr/local/include and usr/local/lib subfolders of your msys64 folder.
|
@ -8,10 +8,4 @@ fi
|
||||
git clone https://github.com/AnonymusRaccoon/Kyoo --recurse
|
||||
cd Kyoo
|
||||
git pull --recurse
|
||||
chmod +x build.sh
|
||||
./build.sh
|
||||
dotnet publish -c Release -o /opt/kyoo Kyoo/Kyoo.csproj
|
||||
useradd -rU kyoo
|
||||
chown -R kyoo /opt/kyoo
|
||||
chgrp -R kyoo /opt/kyoo
|
||||
chmod +x /opt/kyoo/kyoo.sh
|
||||
make install
|
||||
|
Loading…
x
Reference in New Issue
Block a user