From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:45706) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jPmw4-0003KV-8V for guix-patches@gnu.org; Sat, 18 Apr 2020 08:51:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jPmw2-0003xI-IH for guix-patches@gnu.org; Sat, 18 Apr 2020 08:51:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:58822) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jPmw2-0003wd-EA for guix-patches@gnu.org; Sat, 18 Apr 2020 08:51:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jPmw2-00040U-Br for guix-patches@gnu.org; Sat, 18 Apr 2020 08:51:02 -0400 Subject: [bug#40677] [PATCH 10/30] gnu: Add ffmpeg-jami. Resent-Message-ID: From: Mathieu Othacehe References: <20200417003433.5608-1-tona_kosmicznego_smiecia@interia.pl> <20200417003433.5608-10-tona_kosmicznego_smiecia@interia.pl> Date: Sat, 18 Apr 2020 14:49:59 +0200 In-Reply-To: <20200417003433.5608-10-tona_kosmicznego_smiecia@interia.pl> (Jan Wielkiewicz's message of "Fri, 17 Apr 2020 02:34:13 +0200") Message-ID: <87pnc5hsaw.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Jan Wielkiewicz Cc: 40677@debbugs.gnu.org > +(define-public ffmpeg-jami > + (package > + (inherit ffmpeg) > + (name "ffmpeg-jami") > + (version "4.2.1") > + (source (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://git.ffmpeg.org/ffmpeg.git") > + (commit "59da9dcd7ef6277e4e04998ced71b05a6083c635"))) Do we need this particular commit? If so the version should be: --8<---------------cut here---------------start------------->8--- (git-version "4.2.1" revision commit) --8<---------------cut here---------------end--------------->8--- you will find some examples in packages such as guile-webutils, or boost-sync. > + (append '("--disable-everything" > + "--enable-zlib" > + "--enable-gpl" > + "--enable-swscale" > + "--enable-bsfs" > + "--disable-filters" > + "--disable-programs" > + "--disable-postproc" > + "--disable-protocols" > + "--enable-protocol=crypto" > + "--enable-protocol=file" > + "--enable-protocol=rtp" > + "--enable-protocol=srtp" > + "--enable-protocol=tcp" > + "--enable-protocol=udp" > + "--enable-protocol=unix" > + "--enable-protocol=pipe" > + ;; enable muxers/demuxers > + "--disable-demuxers" > + "--disable-muxers" > + "--enable-muxer=rtp" > + "--enable-muxer=g722" > + "--enable-muxer=h263" > + "--enable-muxer=h264" > + "--enable-muxer=hevc" > + "--enable-muxer=webm" > + "--enable-muxer=ogg" > + "--enable-muxer=pcm_s16be" > + "--enable-muxer=pcm_s16le" > + "--enable-demuxer=rtp" > + "--enable-demuxer=mjpeg" > + "--enable-demuxer=mjpeg_2000" > + "--enable-demuxer=mpegvideo" > + "--enable-demuxer=gif" > + "--enable-demuxer=image_jpeg_pipe" > + "--enable-demuxer=image_png_pipe" > + "--enable-demuxer=image_webp_pipe" > + "--enable-demuxer=matroska" > + "--enable-demuxer=m4v" > + "--enable-demuxer=mp3" > + "--enable-demuxer=ogg" > + "--enable-demuxer=flac" > + "--enable-demuxer=wav" > + "--enable-demuxer=ac3" > + "--enable-demuxer=g722" > + "--enable-demuxer=pcm_mulaw" > + "--enable-demuxer=pcm_alaw" > + "--enable-demuxer=pcm_s16be" > + "--enable-demuxer=pcm_s16le" > + "--enable-demuxer=h263" > + "--enable-demuxer=h264" > + "--enable-demuxer=hevc" > + ;; enable parsers > + "--enable-parser=h263" > + "--enable-parser=h264" > + "--enable-parser=mpeg4video" > + "--enable-parser=vp8" > + "--enable-parser=vp9" > + "--enable-parser=opus" > + ;; encoders/decoders > + "--enable-encoder=adpcm_g722" > + "--enable-decoder=adpcm_g722" > + "--enable-encoder=rawvideo" > + "--enable-decoder=rawvideo" > + "--enable-encoder=libx264" > + "--enable-decoder=h264" > + "--enable-encoder=pcm_alaw" > + "--enable-decoder=pcm_alaw" > + "--enable-encoder=pcm_mulaw" > + "--enable-decoder=pcm_mulaw" > + "--enable-encoder=mpeg4" > + "--enable-decoder=mpeg4" > + "--enable-encoder=libvpx_vp8" > + "--enable-decoder=vp8" > + "--enable-decoder=vp9" > + "--enable-encoder=h263" > + "--enable-encoder=h263p" > + "--enable-decoder=h263" > + "--enable-encoder=mjpeg" > + "--enable-decoder=mjpeg" > + "--enable-decoder=mjpegb" > + "--enable-libspeex" > + "--enable-libopus" > + "--enable-libvpx" > + "--enable-libx264" > + "--enable-encoder=libspeex" > + "--enable-decoder=libspeex" > + "--enable-encoder=libopus" > + "--enable-decoder=libopus" > + ;; decoders for ringtones and audio streaming > + "--enable-decoder=flac" > + "--enable-decoder=vorbis" > + "--enable-decoder=aac" > + "--enable-decoder=ac3" > + "--enable-decoder=eac3" > + "--enable-decoder=mp3" > + "--enable-decoder=pcm_u24be" > + "--enable-decoder=pcm_u24le" > + "--enable-decoder=pcm_u32be" > + "--enable-decoder=pcm_u32le" > + "--enable-decoder=pcm_u8" > + "--enable-decoder=pcm_f16le" > + "--enable-decoder=pcm_f24le" > + "--enable-decoder=pcm_f32be" > + "--enable-decoder=pcm_f32le" > + "--enable-decoder=pcm_f64be" > + "--enable-decoder=pcm_f64le" > + "--enable-decoder=pcm_s16be" > + "--enable-decoder=pcm_s16be_planar" > + "--enable-decoder=pcm_s16le" > + "--enable-decoder=pcm_s16le_planar" > + "--enable-decoder=pcm_s24be" > + "--enable-decoder=pcm_s24le" > + "--enable-decoder=pcm_s24le_planar" > + "--enable-decoder=pcm_s32be" > + "--enable-decoder=pcm_s32le" > + "--enable-decoder=pcm_s32le_planar" > + "--enable-decoder=pcm_s64be" > + "--enable-decoder=pcm_s64le" > + "--enable-decoder=pcm_s8" > + "--enable-decoder=pcm_s8_planar" > + "--enable-decoder=pcm_u16be" > + "--enable-decoder=pcm_u16le" > + ;; encoders/decoders for images > + "--enable-encoder=gif" > + "--enable-decoder=gif" > + "--enable-encoder=jpegls" > + "--enable-decoder=jpegls" > + "--enable-encoder=ljpeg" > + "--enable-decoder=jpeg2000" > + "--enable-encoder=png" > + "--enable-decoder=png" > + "--enable-encoder=bmp" > + "--enable-decoder=bmp" > + "--enable-encoder=tiff" > + "--enable-decoder=tiff" > + ;; filters > + "--enable-filter=scale" > + "--enable-filter=overlay" > + "--enable-filter=amix" > + "--enable-filter=amerge" > + "--enable-filter=aresample" > + "--enable-filter=format" > + "--enable-filter=aformat" > + "--enable-filter=fps" > + "--enable-filter=transpose" > + "--enable-filter=pad") > + ;; platform specific options > + (if (string-contains (%current-system) "linux") > + '("--enable-pic" > + "--extra-cxxflags=-fPIC --extra-cflags=-fPIC" > + "--target-os=linux" > + "--enable-indev=v4l2" > + "--enable-indev=xcbgrab" > + "--enable-vdpau" > + "--enable-hwaccel=h264_vdpau" > + "--enable-hwaccel=mpeg4_vdpau" > + "--enable-vaapi" > + "--enable-hwaccel=h264_vaapi" > + "--enable-hwaccel=mpeg4_vaapi" > + "--enable-hwaccel=h263_vaapi" > + "--enable-hwaccel=vp8_vaapi" > + "--enable-hwaccel=mjpeg_vaapi" > + "--enable-encoder=h264_vaapi" > + "--enable-encoder=vp8_vaapi" > + "--enable-encoder=mjpeg_vaapi" > + )) > + (cond ((string?= (%current-system) "i386") > + '("--arch=x86" > + "--enable-cuvid" > + "--enable-ffnvcodec" > + "--enable-nvdec" > + "--enable-nvenc" > + "--enable-hwaccel=h264_nvdec" > + "--enable-hwaccel=hevc_nvdec" > + "--enable-hwaccel=vp8_nvdec" > + "--enable-hwaccel=mjpeg_nvdec" > + "--enable-encoder=h264_nvenc" > + "--enable-encoder=hevc_nvenc")) > + ((string?= (%current-system) "x86_64") > + '("--arch=x86_64" > + "--enable-cuvid" > + "--enable-ffnvcodec" > + "--enable-nvdec" > + "--enable-nvenc" > + "--enable-hwaccel=h264_nvdec" > + "--enable-hwaccel=hevc_nvdec" > + "--enable-hwaccel=vp8_nvdec" > + "--enable-hwaccel=mjpeg_nvdec" > + "--enable-encoder=h264_nvenc" > + "--enable-encoder=hevc_nvenc")) > + ((string?= (%current-system) "aarch64-linux") '("--arch=aarch64")) > + ((string?= (%current-system) "arm64-linux") '("--arch=aarch64")) > + ((string?= (%current-system) "arm") '("--arch=arm")) > + (else '())))) This long list is a bit scary. Could inherit from the one of ffmpeg and add/remove only what's necessary? The default values should also be omitted. > + ;; Comes from > + ;; "ring-project/daemon/contrib/src/pjproject/rules.mak". > + ;; WARNING: These amount for huge changes in pjproject. That's only three patches here? You can maybe remove this comment. Mathieu