Skip to content

Commit

Permalink
[tools/depends] remove yasm
Browse files Browse the repository at this point in the history
Yasm hasnt been updated since 2014. A lot of projects have moved to using nasm
completely. ffmpeg, libjpeg-turbo support nasm, so lets drop yasm for one less dependency
  • Loading branch information
fuzzard committed Nov 20, 2021
1 parent 0af8622 commit d417ec7
Show file tree
Hide file tree
Showing 11 changed files with 10 additions and 55 deletions.
2 changes: 1 addition & 1 deletion docs/README.Fedora.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ If you get a `package not found` type of message with the below command, remove

Install build dependencies:
```
sudo dnf install alsa-lib-devel autoconf automake avahi-compat-libdns_sd-devel avahi-devel bluez-libs-devel bzip2-devel cmake curl dbus-devel flatbuffers flatbuffers-devel fmt-devel fontconfig-devel freetype-devel fribidi-devel fstrcmp-devel gawk gcc gcc-c++ gettext gettext-devel giflib-devel gperf gtest java-11-openjdk-headless jre lcms2-devel libao-devel libass-devel libbluray-devel libcap-devel libcdio-devel libcec-devel libcurl-devel libidn2-devel libjpeg-turbo-devel libmicrohttpd-devel libmpc-devel libnfs-devel libplist-devel libpng12-devel libsmbclient-devel libtool libtool-ltdl-devel libudev-devel libunistring libunistring-devel libusb-devel libuuid-devel libva-devel libvdpau-devel libxml2-devel libXmu-devel libXrandr-devel libxslt-devel libXt-devel lirc-devel lzo-devel make mariadb-devel mesa-libEGL-devel mesa-libGL-devel mesa-libGLU-devel mesa-libGLw-devel mesa-libOSMesa-devel nasm openssl-devel openssl-libs patch pcre-devel pulseaudio-libs-devel python3-devel python3-pillow rapidjson-devel shairplay-devel sqlite-devel swig taglib-devel tinyxml-devel trousers-devel uuid-devel yasm zlib-devel
sudo dnf install alsa-lib-devel autoconf automake avahi-compat-libdns_sd-devel avahi-devel bluez-libs-devel bzip2-devel cmake curl dbus-devel flatbuffers flatbuffers-devel fmt-devel fontconfig-devel freetype-devel fribidi-devel fstrcmp-devel gawk gcc gcc-c++ gettext gettext-devel giflib-devel gperf gtest java-11-openjdk-headless jre lcms2-devel libao-devel libass-devel libbluray-devel libcap-devel libcdio-devel libcec-devel libcurl-devel libidn2-devel libjpeg-turbo-devel libmicrohttpd-devel libmpc-devel libnfs-devel libplist-devel libpng12-devel libsmbclient-devel libtool libtool-ltdl-devel libudev-devel libunistring libunistring-devel libusb-devel libuuid-devel libva-devel libvdpau-devel libxml2-devel libXmu-devel libXrandr-devel libxslt-devel libXt-devel lirc-devel lzo-devel make mariadb-devel mesa-libEGL-devel mesa-libGL-devel mesa-libGLU-devel mesa-libGLw-devel mesa-libOSMesa-devel nasm openssl-devel openssl-libs patch pcre-devel pulseaudio-libs-devel python3-devel python3-pillow rapidjson-devel shairplay-devel sqlite-devel swig taglib-devel tinyxml-devel trousers-devel uuid-devel zlib-devel
```

**WARNING:** Make sure you copy paste the entire line or you might receive an error or miss a few dependencies.
Expand Down
2 changes: 1 addition & 1 deletion docs/README.Linux.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ The following is the list of packages that are used to build Kodi on Debian/Ubun

**NOTE:** Kodi requires a compiler with C++14 support, i.e. gcc >= 4.9 or clang >= 3.4

* autoconf, automake, autopoint, gettext, autotools-dev, cmake, curl, default-jre | openjdk-6-jre | openjdk-7-jre, gawk, gcc (>= 4.9) | gcc-4.9, g++ (>= 4.9) | g++-4.9, cpp (>= 4.9) | cpp-4.9, flatbuffers, gdc, gperf, libasound2-dev | libasound-dev, libass-dev (>= 0.9.8), libavahi-client-dev, libavahi-common-dev, libbluetooth-dev, libbluray-dev, libbz2-dev, libcdio-dev, libcec4-dev | libcec-dev, libp8-platform-dev, libcrossguid-dev, libcurl4-openssl-dev | libcurl4-gnutls-dev | libcurl-dev, libcwiid-dev, libdbus-1-dev, libegl1-mesa-dev, libenca-dev, libflac-dev, libfontconfig-dev, libfmt3-dev | libfmt-dev, libfreetype6-dev, libfribidi-dev, libfstrcmp-dev, libgcrypt-dev, libgif-dev (>= 5.0.5), libgles2-mesa-dev [armel] | libgl1-mesa-dev | libgl-dev, libglew-dev, libglu1-mesa-dev | libglu-dev, libgnutls-dev | libgnutls28-dev, libgpg-error-dev, libgtest-dev, libiso9660-dev, libjpeg-dev, liblcms2-dev, liblirc-dev, libltdl-dev, liblzo2-dev, libmicrohttpd-dev, libmysqlclient-dev, libnfs-dev, libogg-dev, libomxil-bellagio-dev [armel], libpcre3-dev, libplist-dev, libpng12-dev | libpng-dev, libpulse-dev, libshairplay-dev, libsmbclient-dev, libspdlog-dev, libsqlite3-dev, libssl-dev, libtag1-dev (>= 1.8) | libtag1x8, libtiff5-dev | libtiff-dev | libtiff4-dev, libtinyxml-dev, libtool, libudev-dev, libunistring-dev, libva-dev, libvdpau-dev, libvorbis-dev, libxkbcommon-dev, libxmu-dev, libxrandr-dev, libxslt1-dev | libxslt-dev, libxt-dev, waylandpp-dev | netcat, wayland-protocols | wipe, lsb-release, meson (>= 0.47.0), nasm (>= 2.14), ninja-build, python3-dev, python3-pil | python-imaging, python-support | python3-minimal, rapidjson-dev, swig, unzip, uuid-dev, yasm, zip, zlib1g-dev
* autoconf, automake, autopoint, gettext, autotools-dev, cmake, curl, default-jre | openjdk-6-jre | openjdk-7-jre, gawk, gcc (>= 4.9) | gcc-4.9, g++ (>= 4.9) | g++-4.9, cpp (>= 4.9) | cpp-4.9, flatbuffers, gdc, gperf, libasound2-dev | libasound-dev, libass-dev (>= 0.9.8), libavahi-client-dev, libavahi-common-dev, libbluetooth-dev, libbluray-dev, libbz2-dev, libcdio-dev, libcec4-dev | libcec-dev, libp8-platform-dev, libcrossguid-dev, libcurl4-openssl-dev | libcurl4-gnutls-dev | libcurl-dev, libcwiid-dev, libdbus-1-dev, libegl1-mesa-dev, libenca-dev, libflac-dev, libfontconfig-dev, libfmt3-dev | libfmt-dev, libfreetype6-dev, libfribidi-dev, libfstrcmp-dev, libgcrypt-dev, libgif-dev (>= 5.0.5), libgles2-mesa-dev [armel] | libgl1-mesa-dev | libgl-dev, libglew-dev, libglu1-mesa-dev | libglu-dev, libgnutls-dev | libgnutls28-dev, libgpg-error-dev, libgtest-dev, libiso9660-dev, libjpeg-dev, liblcms2-dev, liblirc-dev, libltdl-dev, liblzo2-dev, libmicrohttpd-dev, libmysqlclient-dev, libnfs-dev, libogg-dev, libomxil-bellagio-dev [armel], libpcre3-dev, libplist-dev, libpng12-dev | libpng-dev, libpulse-dev, libshairplay-dev, libsmbclient-dev, libspdlog-dev, libsqlite3-dev, libssl-dev, libtag1-dev (>= 1.8) | libtag1x8, libtiff5-dev | libtiff-dev | libtiff4-dev, libtinyxml-dev, libtool, libudev-dev, libunistring-dev, libva-dev, libvdpau-dev, libvorbis-dev, libxkbcommon-dev, libxmu-dev, libxrandr-dev, libxslt1-dev | libxslt-dev, libxt-dev, waylandpp-dev | netcat, wayland-protocols | wipe, lsb-release, meson (>= 0.47.0), nasm (>= 2.14), ninja-build, python3-dev, python3-pil | python-imaging, python-support | python3-minimal, rapidjson-dev, swig, unzip, uuid-dev, zip, zlib1g-dev

### 3.1. Build missing dependencies
Some packages may be missing or outdated in older distributions. Notably `crossguid`, `libfmt`, `libspdlog`, `waylandpp`, `wayland-protocols`, etc. are known to be outdated or missing. Fortunately there is an easy way to build individual dependencies with **[Kodi's unified depends build system](../tools/depends/README.md)**.
Expand Down
2 changes: 1 addition & 1 deletion docs/README.Ubuntu.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ If you get a `package not found` type of message with the below command, remove

Install build dependencies manually:
```
sudo apt install debhelper autoconf automake autopoint gettext autotools-dev cmake curl default-jre doxygen gawk gcc gdc gperf libasound2-dev libass-dev libavahi-client-dev libavahi-common-dev libbluetooth-dev libbluray-dev libbz2-dev libcdio-dev libp8-platform-dev libcrossguid-dev libcurl4-openssl-dev libcwiid-dev libdbus-1-dev libdrm-dev libegl1-mesa-dev libenca-dev libflac-dev flatbuffers-dev libfmt-dev libfontconfig-dev libfreetype6-dev libfribidi-dev libfstrcmp-dev libgcrypt-dev libgif-dev libgles2-mesa-dev libgl1-mesa-dev libglu1-mesa-dev libgnutls28-dev libgpg-error-dev libgtest-dev libiso9660-dev libjpeg-dev liblcms2-dev libltdl-dev liblzo2-dev libmicrohttpd-dev libmysqlclient-dev libnfs-dev libogg-dev libpcre3-dev libplist-dev libpng-dev libpulse-dev libshairplay-dev libsmbclient-dev libspdlog-dev libsqlite3-dev libssl-dev libtag1-dev libtiff5-dev libtinyxml-dev libtool libudev-dev libva-dev libvdpau-dev libvorbis-dev libxmu-dev libxrandr-dev libxslt1-dev libxt-dev lsb-release meson nasm ninja-build python3-dev python3-pil python3-pip rapidjson-dev swig unzip uuid-dev yasm zip zlib1g-dev
sudo apt install debhelper autoconf automake autopoint gettext autotools-dev cmake curl default-jre doxygen gawk gcc gdc gperf libasound2-dev libass-dev libavahi-client-dev libavahi-common-dev libbluetooth-dev libbluray-dev libbz2-dev libcdio-dev libp8-platform-dev libcrossguid-dev libcurl4-openssl-dev libcwiid-dev libdbus-1-dev libdrm-dev libegl1-mesa-dev libenca-dev libflac-dev flatbuffers-dev libfmt-dev libfontconfig-dev libfreetype6-dev libfribidi-dev libfstrcmp-dev libgcrypt-dev libgif-dev libgles2-mesa-dev libgl1-mesa-dev libglu1-mesa-dev libgnutls28-dev libgpg-error-dev libgtest-dev libiso9660-dev libjpeg-dev liblcms2-dev libltdl-dev liblzo2-dev libmicrohttpd-dev libmysqlclient-dev libnfs-dev libogg-dev libpcre3-dev libplist-dev libpng-dev libpulse-dev libshairplay-dev libsmbclient-dev libspdlog-dev libsqlite3-dev libssl-dev libtag1-dev libtiff5-dev libtinyxml-dev libtool libudev-dev libva-dev libvdpau-dev libvorbis-dev libxmu-dev libxrandr-dev libxslt1-dev libxt-dev lsb-release meson nasm ninja-build python3-dev python3-pil python3-pip rapidjson-dev swig unzip uuid-dev zip zlib1g-dev
```

**WARNING:** Make sure you copy paste the entire line or you might receive an error or miss a few dependencies.
Expand Down
4 changes: 2 additions & 2 deletions tools/depends/native/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ ifneq ($(shell test -f $(NATIVEPREFIX)/share/config.site && echo 1),1)
endif

NATIVE= m4 gettext heimdal autoconf automake \
libtool pkg-config yasm nasm cmake \
libtool pkg-config nasm cmake \
gas-preprocessor python3 zlib \
pcre swig openssl \
libpng libjpeg-turbo liblzo2 giflib \
Expand Down Expand Up @@ -45,7 +45,7 @@ dpkg: automake gettext libtool pkg-config tar
flatbuffers: cmake
heimdal: libtool
libtool: automake
libjpeg-turbo: cmake yasm
libjpeg-turbo: cmake nasm
libpng: zlib automake
meson: python3 setuptools
ninja: meson
Expand Down
1 change: 0 additions & 1 deletion tools/depends/native/config.site.native.in
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,4 @@ if test -n "@use_build_toolchain@"; then
fi

LD_LIBRARY_PATH=@prefix@/@tool_dir@/lib:$LD_LIBRARY_PATH
YASM=@prefix@/@tool_dir@/bin/yasm
NASM=@prefix@/@tool_dir@/bin/nasm
2 changes: 1 addition & 1 deletion tools/depends/native/libjpeg-turbo/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ SOURCE=$(LIBNAME)-$(VERSION)
ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz

CMAKE_OPTIONS := -DCMAKE_TOOLCHAIN_FILE= \
-DCMAKE_ASM_NASM_COMPILER:FILEPATH=$(NATIVEPREFIX)/bin/yasm \
-DCMAKE_ASM_NASM_COMPILER:FILEPATH=$(NATIVEPREFIX)/bin/nasm \
-DENABLE_SHARED:BOOL=OFF \
-DWITH_JPEG8:BOOL=ON \
-DCMAKE_C_COMPILER="$(CC_BINARY_FOR_BUILD)" \
Expand Down
42 changes: 0 additions & 42 deletions tools/depends/native/yasm/Makefile

This file was deleted.

3 changes: 1 addition & 2 deletions tools/depends/target/config-binaddons.site.in
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,7 @@ CXXFLAGS="@platform_cxxflags@ @platform_includes@ $CXXFLAGS"
CPPFLAGS="@platform_cflags@ @platform_includes@ $CPPFLAGS"

export PKG_CONFIG=@prefix@/@tool_dir@/bin/pkg-config
export YASM=@prefix@/@tool_dir@/bin/yasm
export NASM=@prefix@/@tool_dir@/bin/yasm
export NASM=@prefix@/@tool_dir@/bin/nasm

PATH=@prefix@/@tool_dir@/bin:@use_toolchain@/usr/bin:@use_toolchain@/bin:$PATH
LD_LIBRARY_PATH=@prefix@/@tool_dir@/lib:$LD_LIBRARY_PATH
Expand Down
1 change: 0 additions & 1 deletion tools/depends/target/config.site.in
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ CPPFLAGS="@platform_cflags@ @platform_includes@ -isystem @prefix@/@deps_dir@/inc

export PKG_CONFIG=@prefix@/@tool_dir@/bin/pkg-config
export PKG_CONFIG_LIBDIR=@prefix@/@deps_dir@/lib/pkgconfig
export YASM=@prefix@/@tool_dir@/bin/yasm
export NASM=@prefix@/@tool_dir@/bin/nasm
LIBGCRYPT_CONFIG=@prefix@/@deps_dir@/bin/libgcrypt-config

Expand Down
4 changes: 2 additions & 2 deletions tools/depends/target/ffmpeg/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ ifeq ($(OS), android)
endif
ifeq ($(OS), darwin_embedded)
ffmpg_config += --as="$(NATIVEPREFIX)/bin/gas-preprocessor.pl -arch aarch64 -- $(CC)"
ffmpg_config += --x86asmexe=$(NATIVEPREFIX)/bin/yasm
ffmpg_config += --x86asmexe=$(NATIVEPREFIX)/bin/nasm
ffmpg_config += --disable-crystalhd --enable-videotoolbox
ffmpg_config += --target-os=darwin
endif
Expand All @@ -60,7 +60,7 @@ ifeq ($(OS), osx)
ffmpg_config += --disable-securetransport
ifeq ($(CPU),arm64)
ffmpg_config += --as="$(NATIVEPREFIX)/bin/gas-preprocessor.pl -arch aarch64 -- $(CC)"
ffmpg_config += --x86asmexe=$(NATIVEPREFIX)/bin/yasm
ffmpg_config += --x86asmexe=$(NATIVEPREFIX)/bin/nasm
endif
endif
ifeq ($(findstring arm, $(CPU)), arm)
Expand Down
2 changes: 1 addition & 1 deletion tools/depends/target/libjpeg-turbo/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ $(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE)
cd $(PLATFORM); patch -p1 -i ../01-disable-executables.patch
cd $(PLATFORM); $(CMAKE) -B build -DCMAKE_ASM_NASM_COMPILER:FILEPATH=$(NATIVEPREFIX)/bin/yasm -DENABLE_SHARED:BOOL=OFF -DWITH_JPEG8:BOOL=ON
cd $(PLATFORM); $(CMAKE) -B build -DCMAKE_ASM_NASM_COMPILER:FILEPATH=$(NATIVEPREFIX)/bin/nasm -DENABLE_SHARED:BOOL=OFF -DWITH_JPEG8:BOOL=ON

$(LIBDYLIB): $(PLATFORM)
$(MAKE) -C $(PLATFORM)/build
Expand Down

0 comments on commit d417ec7

Please sign in to comment.