all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Jean Pierre De Jesus DIAZ via Guix-patches via <guix-patches@gnu.org>
To: 57043@debbugs.gnu.org
Subject: [bug#57043] [PATCH] gnu: rust-freetype-sys-0.13: Unbundle freetype2.
Date: Sun, 07 Aug 2022 18:39:55 +0000	[thread overview]
Message-ID: <HGgZmDLEAonfFN-y6zfOKMo8NKy1RXvOfRvKz_NhjsFPW6NMdGToBoJpBnJ5Rh8b6eRsJjw7UpVAxlhZeJww-6VXMmYswdYS2QXvB1fdEBE=@jeandudey.tech> (raw)

[-- Attachment #1: Type: text/plain, Size: 228 bytes --]

Hello,

This patch removes the bundled freetype2 library on `rust-freetype-sys-0.13'.

Also removes unneeded build dependencies (`pkg-config' and `cmake').

One less bundled dependency ;).

—
Jean-Pierre De Jesus DIAZ

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-rust-freetype-sys-0.13-Unbundle-freetype2.patch --]
[-- Type: text/x-patch; name=0001-gnu-rust-freetype-sys-0.13-Unbundle-freetype2.patch, Size: 4349 bytes --]

From f6dec2567dc997a32ef308bd42d259ac60dbbab5 Mon Sep 17 00:00:00 2001
From: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
Date: Sun, 7 Aug 2022 20:36:14 +0200
Subject: [PATCH] gnu: rust-freetype-sys-0.13: Unbundle freetype2.

* gnu/packages/crates-io.scm (rust-freetype-sys-0.13)
  [source]: Remove bundled `freetype2' source code and add patch to use
  system library.
---
 gnu/packages/crates-io.scm                    | 16 +++---
 ...ust-freetype-sys-0.13-simplify-build.patch | 53 +++++++++++++++++++
 2 files changed, 63 insertions(+), 6 deletions(-)
 create mode 100644 gnu/packages/patches/rust-freetype-sys-0.13-simplify-build.patch

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index cfafce9aa3..cddd8ebaf0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -27,6 +27,7 @@
 ;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
 ;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2022 Evgenii Lepikhin <e.lepikhin@corp.mail.ru>
+;;; Copyright © 2022 Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22904,14 +22905,17 @@ (define-public rust-freetype-sys-0.13
        (uri (crate-uri "freetype-sys" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "06kkds31s6b1i39dyanwmzbnic7laia1kk3gfvx8sqncq08l0zd3"))))
+        (base32 "06kkds31s6b1i39dyanwmzbnic7laia1kk3gfvx8sqncq08l0zd3"))
+       (patches (search-patches "rust-freetype-sys-0.13-simplify-build.patch"))
+       (modules '((guix build utils)))
+       (snippet
+         '(delete-file-recursively "freetype2"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:skip-build? #t
-       #:cargo-inputs
-       (("rust-cmake" ,rust-cmake-0.1)
-        ("rust-libc" ,rust-libc-0.2)
-        ("rust-pkg-config" ,rust-pkg-config-0.3))))
+     `(#:cargo-inputs
+       (("rust-libc" ,rust-libc-0.2))))
+    (inputs
+      (list freetype))
     (home-page "https://github.com/PistonDevelopers/freetype-sys")
     (synopsis "Low level binding for FreeType font library")
     (description
diff --git a/gnu/packages/patches/rust-freetype-sys-0.13-simplify-build.patch b/gnu/packages/patches/rust-freetype-sys-0.13-simplify-build.patch
new file mode 100644
index 0000000000..bb16f3e065
--- /dev/null
+++ b/gnu/packages/patches/rust-freetype-sys-0.13-simplify-build.patch
@@ -0,0 +1,53 @@
+Force freetype-sys to use system libraries, this removes the need for CMake.
+
+The bundled source is still present at the crate package, it should be removed
+through a package snippet.
+
+diff -Naur freetype-sys-0.13.1/Cargo.toml freetype-sys-0.13.1-patch/Cargo.toml > 1.patch
+--- freetype-sys-0.13.1/Cargo.toml	2020-07-05 11:15:43.000000000 +0200
++++ freetype-sys-0.13.1-patch/Cargo.toml	2022-08-07 19:53:57.649678214 +0200
+@@ -24,8 +24,3 @@
+ repository = "https://github.com/PistonDevelopers/freetype-sys.git"
+ [dependencies.libc]
+ version = "0.2.42"
+-[build-dependencies.cmake]
+-version = "0.1.42"
+-
+-[build-dependencies.pkg-config]
+-version = "0.3.11"
+diff -Naur freetype-sys-0.13.1/build.rs freetype-sys-0.13.1-patch/build.rs > 2.patch
+--- freetype-sys-0.13.1/build.rs	2020-05-30 05:59:09.000000000 +0200
++++ freetype-sys-0.13.1-patch/build.rs	2022-08-07 19:54:34.153503846 +0200
+@@ -1,30 +1,4 @@
+-extern crate cmake;
+-extern crate pkg_config;
+-
+-use cmake::Config;
+-use std::env;
+-
+ fn main() {
+-    let target = env::var("TARGET").unwrap();
+-    if !target.contains("android")
+-        && pkg_config::Config::new().atleast_version("18.5.12").find("freetype2").is_ok()
+-    {
+-        return
+-    }
+-
+-    let mut config = Config::new("freetype2");
+-    if let Ok(s) = env::var("FREETYPE_CMAKE_GENERATOR") {
+-        config.generator(s);
+-    }
+-    let dst = config
+-        .define("WITH_BZip2", "OFF")
+-        .define("WITH_HarfBuzz", "OFF")
+-        .define("WITH_PNG", "OFF")
+-        .define("WITH_ZLIB", "OFF")
+-        .profile("Release")
+-        .build();
+-    let out_dir = env::var("OUT_DIR").unwrap();
+-    println!("cargo:rustc-link-search=native={}/lib", dst.display());
+-    println!("cargo:rustc-link-lib=static=freetype");
++    println!("cargo:rustc-link-lib=freetype");
+-    println!("cargo:outdir={}", out_dir);
+ }
++
-- 
2.36.1


             reply	other threads:[~2022-08-07 18:41 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-07 18:39 Jean Pierre De Jesus DIAZ via Guix-patches via [this message]
2022-08-07 21:59 ` [bug#57043] [PATCH] gnu: rust-freetype-sys-0.13: Unbundle freetype2 Maxime Devos
2022-08-08 14:37 ` Jean Pierre De Jesus DIAZ via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='HGgZmDLEAonfFN-y6zfOKMo8NKy1RXvOfRvKz_NhjsFPW6NMdGToBoJpBnJ5Rh8b6eRsJjw7UpVAxlhZeJww-6VXMmYswdYS2QXvB1fdEBE=@jeandudey.tech' \
    --to=guix-patches@gnu.org \
    --cc=57043@debbugs.gnu.org \
    --cc=me@jeandudey.tech \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.