guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Packaging Jami progress


From: Jan Wielkiewicz
Subject: Re: Packaging Jami progress
Date: Wed, 4 Dec 2019 15:36:31 +0100

Hi,
It turns out ffmpeg needs to be patched, just like pjproject and there
could be more packages to patch. I quickly searched for "*.patch" in
the contrib folder and that's what I got:
./argon2/pkgconfig.patch
./argon2/argon2-vs2017.patch
./pthreads/pthreads-uwp.patch
./pthreads/pthreads-vs2017.patch
./pthreads/pthreads-windows.patch
./vpx/windows-vpx_config.patch
./gnutls/no-create-time-h.patch
./gnutls/mac-keychain-lookup.patch
./gnutls/gnutls-uwp.patch
./gnutls/read-file-limits.h.patch
./gnutls/gnutls-mscver.patch
./gnutls/gnutls-disable-getentropy-osx.patch
./gnutls/gnutls-3.6.7-win32-vs-support.patch
./gnutls/gnutls-no-egd.patch
./gnutls/gnutls-3.6.7-win32-compat.patch
./gnutls/downgrade-gettext-requirement.patch
./gpg-error/gpgerror-android.patch
./gpg-error/missing-unistd-include.patch
./gpg-error/windres-make.patch
./ffmpeg/remove-mjpeg-log.patch
./ffmpeg/windows-configure-libmfx.patch
./ffmpeg/change-RTCP-ratio.patch
./ffmpeg/rtp_ext_abs_send_time.patch
./ffmpeg/windows-configure-ffnvcodec.patch
./ffmpeg/windows-configure.patch
./gmp/gmp_addaddmul_1msb0.patch
./gmp/clock_gettime.patch
./libressl/getpagesize.patch
./libressl/0001-build-don-t-fetch-git-tag-if-openbsd-directory-exist.patch
./iconv/libiconv-win64.patch
./iconv/bins.patch
./iconv/libiconv-winrt.patch
./iconv/libiconv-android-ios.patch
./iconv/win32.patch
./restinio/cmake.patch
./jack/config-osx.patch
./natpmp/natpmp-win32-ssize_t.patch
./x264/0001-use-internal-log2f.patch
./x264/remove-align.patch
./x264/x264-uwp.patch
./asio/no_tests_examples.patch
./asio/asio-vcxproj.patch
./asio/asio-uwp.patch
./uuid/android.patch
./gcrypt/0001-Fix-assembly-division-check.patch
./gcrypt/fix-amd64-assembly-on-solaris.patch
./yaml-cpp/cmake.patch
./media-sdk/windows-static-lib-build.patch
./gsm/include_ios.patch
./gsm/gsm-cross.patch
./upnp/threadpool.patch
./upnp/win_inet_pton.patch
./upnp/libupnp-ipv6.patch
./upnp/miniserver.patch
./upnp/libupnp-windows.patch
./jsoncpp/jsoncpp-vs2017.patch
./pjproject/sip_config.patch
./pjproject/ice_config.patch
./pjproject/fix_first_packet_turn_tcp.patch
./pjproject/disable_local_resolution.patch
./pjproject/fix_ioqueue_ipv6_sendto.patch
./pjproject/rfc2466.patch
./pjproject/fix_assert_on_connection_attempt.patch
./pjproject/pj_ice_sess.patch
./pjproject/fix_turn_connection_failure.patch
./pjproject/multiple_listeners.patch
./pjproject/rfc6544.patch
./pjproject/ignore_ipv6_on_transport_check.patch
./pjproject/uwp_vs.patch
./pjproject/win_vs2017_props.patch
./pjproject/ipv6.patch
./pjproject/win32_vs_gnutls.patch
./pjproject/add_dtls_transport.patch
./pjproject/android.patch
./pjproject/fix_turn_alloc_failure.patch
./pjproject/fix_turn_fallback.patch
./pjproject/fix_ebusy_turn.patch
./pjproject/win_config.patch
./http_parser/http_parser-vs.patch
./openssl/openssl-uwp.patch
./portaudio/dsound_utf8.patch
./portaudio/pa-dsound.patch
./portaudio/pa-vs2017.patch
./portaudio/pa-dsound-aecns.patch
./portaudio/pa-uwp.patch
./dbus-cpp/dbus-c++-writechar.patch
./dbus-cpp/dbus-c++-gcc4.7.patch
./dbus-cpp/dbus-c++-threading.patch
./secp256k1/secp256k1-vs2017.patch

It would be good If there was a procedure (or a macro?) accepting the
name of the dependency and the list of patches, simmilar to this:

(lambda* (#:key inputs #:allow-other-keys)
             (let ((savoir-faire-linux-patches-directory "Savoir-faire Linux 
patches")
                   (savoir-faire-linux-patches
                    '("fix_turn_alloc_failure"
                      "rfc2466"
                      "ipv6"
                      "multiple_listeners"
                      "pj_ice_sess"
                      "fix_turn_fallback"
                      "fix_ioqueue_ipv6_sendto"
                      "add_dtls_transport"
                      "rfc6544"
                      "ice_config"
                      "sip_config"
                      "fix_first_packet_turn_tcp"
                      "fix_ebusy_turn"
                      "ignore_ipv6_on_transport_check"
                      "fix_turn_connection_failure"
                      "disable_local_resolution")))
               (mkdir-p savoir-faire-linux-patches-directory)
               (invoke "tar" "-xvf" (assoc-ref inputs 
"savoir-faire-linux-patches")
                       "-C" savoir-faire-linux-patches-directory
                       "--strip-components=5"
                       "ring-project/daemon/contrib/src/pjproject")
               (for-each
                (lambda (file)
                  (invoke "patch" "--force" "-p1" "-i"
                          (string-append savoir-faire-linux-patches-directory 
"/"
                                         file ".patch")))
                savoir-faire-linux-patches))
             #t)

The question is - if I defined a procedure named "jami-apply-patches" or
whatever, will importing it using #:use-module (gnu packages telephony
jami-apply-patches) work, or do I need to explicitly export it?
Also how to add such procedure to the "add-after" field without causing
an error?


Jan Wielkiewicz



reply via email to

[Prev in Thread] Current Thread [Next in Thread]