From dfb72b837be8285612c303e056503e71ca5539ce Mon Sep 17 00:00:00 2001 From: Marek Paśnikowski Date: Wed, 20 Mar 2024 12:37:34 +0100 Subject: Rename the imported private directory as package directory --- packages/komodo/vcpkg.scm | 168 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 packages/komodo/vcpkg.scm (limited to 'packages/komodo/vcpkg.scm') diff --git a/packages/komodo/vcpkg.scm b/packages/komodo/vcpkg.scm new file mode 100644 index 0000000..260ce19 --- /dev/null +++ b/packages/komodo/vcpkg.scm @@ -0,0 +1,168 @@ +(define-module (vcpkg) + ;; #:use-module (cmake) + ;; #:use-module (gnu packages commencement) + ;; #:use-module (gnu packages compression) + ;; #:use-module (gnu packages cpp) + ;; #:use-module (gnu packages curl) + ;; #:use-module (gnu packages ncurses) + ;; #:use-module (gnu packages ninja) + ;; #:use-module (guix build utils) + #:use-module (guix build-system copy) + #:use-module (guix build-system cmake) + ;; #:use-module (guix build-system qt) + #:use-module (guix download) + ;; #:use-module (guix gexp) + ;; #:use-module (guix git-download) + #:use-module ((guix licenses) + #:prefix license:) + #:use-module (guix packages) + ;; #:use-module (nonguix build-system binary) + ) + + +;;; ABSTRACTION -2 + +(define-public vcpkg-tool-cmrc + (let ((version "2.0.1")) + (package + (name "vcpkg-cmrc") + (version version) + (source + (origin + (uri + (string-append + "https://github.com/vector-of-bool/cmrc/archive/refs/tags/" + version + ".tar.gz")) + (method url-fetch) + (hash + (content-hash + "06xpnnwbqv3r8v0vblzcrjp2zgddy05v132y9c9dz8dyl2m5zbgd")))) + (build-system copy-build-system) + (arguments + '(#:install-plan '(("CMakeRC.cmake" "CMakeRCConfig.cmake")))) + (synopsis "A Resource Compiler in a Single CMake Script") + (description + (string-append + "CMakeRC is a resource compiler provided in a single CMake " + "script that can easily be included in another project.")) + (license license:expat) + (home-page "https://github.com/vector-of-bool/cmrc/")))) + +(define-public vcpkg-tool-fmt + (let ((version "10.1.0")) + (package + (name "vcpkg-fmt") + (version version) + (source + (origin + (uri + (string-append + "https://github.com/fmtlib/fmt/archive/refs/tags/" + version ".tar.gz")) + (method url-fetch) + (hash + (content-hash + "02na80r7yrkda89s7mz35llqh904dbsppb7g5s7na9ji5yns7c6y")))) + (build-system cmake-build-system) + (synopsis "A modern formatting library") + (description + (string-append + "{fmt} is an open-source formatting library providing a fast " + "and safe alternative to C stdio and C++ iostreams.")) + (license license:expat) + (home-page "https://fmt.dev/")))) + +;;; ABSTRACTION -1 + +(define vcpkg + (let ((version "2024.02.14")) + (package + (name "vcpkg") + (version version) + (source + (origin + (uri + (string-append + "https://github.com/microsoft/vcpkg/archive/refs/tags/" + version + ".tar.gz")) + (method url-fetch) + (hash + (content-hash + "1wbhxfbi964bc93f69rsr1h6z82ypc9lyz2rb0kp3sfwp0m9jhhf")))) + (build-system copy-build-system) + (arguments + (list + #:install-plan '(list (list "vcpkg" "vcpkg")) + #:phases + #~ (modify-phases + %standard-phases + (add-after + 'unpack + 'unpack-vcpkg-tool + (lambda _ + (invoke "mkdir" "downloads") + (copy-recursively + #+ (origin + (uri + (string-append + "https://github.com/microsoft/vcpkg-tool/archive/" + "2024-02-07" + ".tar.gz")) + (method url-fetch) + (hash + (content-hash + "1j08vw8l8zf6pv6n1kvyjwvj0h7y667shs72sf69hg7p8zj5k9p4"))) + "downloads/2024-02-07.tar.gz"))) + (add-after + 'unpack-vcpkg-tool + 'patch-vcpkg-tool + (lambda* _ + (invoke "chmod" "+w" "downloads/2024-02-07.tar.gz") + (invoke "gunzip" "downloads/2024-02-07.tar.gz") + (invoke + "tar" "-xf" "downloads/2024-02-07.tar" "-C" "downloads" + "vcpkg-tool-2024-02-07/cmake/Findfmt.cmake" + "vcpkg-tool-2024-02-07/cmake/FindCMakeRC.cmake") + (invoke + "tar" "--delete" "-f" "downloads/2024-02-07.tar" + "vcpkg-tool-2024-02-07/cmake/Findfmt.cmake" + "vcpkg-tool-2024-02-07/cmake/FindCMakeRC.cmake") + (substitute* + "downloads/vcpkg-tool-2024-02-07/cmake/Findfmt.cmake" + (("the fmt library\" OFF") + "the fmt library\" ON")) + (substitute* + "downloads/vcpkg-tool-2024-02-07/cmake/FindCMakeRC.cmake" + (("resource compiler\" OFF") + "resource compiler\" ON")) + (invoke + "tar" "-rf" "downloads/2024-02-07.tar" + "downloads/vcpkg-tool-2024-02-07/cmake/Findfmt.cmake" + "downloads/vcpkg-tool-2024-02-07/cmake/FindCMakeRC.cmake") + (invoke "gzip" "downloads/2024-02-07.tar"))) + (add-after + 'patch-generated-file-shebangs + 'bootstrap-vcpkg + (lambda* _ + (substitute* + "scripts/bootstrap.sh" + (("vcpkgDownloadTool=\"ON\"") + "vcpkgDownloadTool=\"OFF\"") + (("\\$actualHash") + "$expectedHash")) + (invoke "./bootstrap-vcpkg.sh" "--disableMetrics"))) + (delete 'configure) + (delete 'build) + (delete 'check)))) + (native-inputs + (list cmake curl ninja unzip vcpkg-tool-cmrc vcpkg-tool-fmt zip)) + (synopsis "C++ Library Manager for Windows, Linux, and MacOS") + (description + (string-append + "Vcpkg helps you manage C and C++ libraries on Windows, Linux " + "and MacOS. This tool and ecosystem are constantly evolving, " + "and we always appreciate contributions!")) + (license license:expat) + (home-page "https://vcpkg.io")))) -- cgit v1.2.3