gnu: Add wdl.
Alined and improved the definition, as per the chat in IRC. * gnu/packages/cpp.scm (wdl): New public variable. * gnu/packages/patches/wdl-link-libs-and-fix-jnetlib.patch: New file. * gnu/local.mk: Register the patch file.master
parent
3bb7c43a6f
commit
a8f1571150
|
@ -1987,6 +1987,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/wacomtablet-add-missing-includes.patch \
|
||||
%D%/packages/patches/wacomtablet-qt5.15.patch \
|
||||
%D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \
|
||||
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \
|
||||
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
|
||||
%D%/packages/patches/webrtc-for-telegram-desktop-fix-gcc12-cstdint.patch \
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
|
||||
;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
|
||||
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2020, 2021, 2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
|
||||
|
@ -32,6 +32,7 @@
|
|||
;;; Copyright © 2022 David Elsing <david.elsing@posteo.net>
|
||||
;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2023 Sughosha <Sughosha@proton.me>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -63,6 +64,7 @@
|
|||
#:use-module (guix modules)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages assembly)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages build-tools)
|
||||
|
@ -73,7 +75,11 @@
|
|||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages libunwind)
|
||||
#:use-module (gnu packages linux)
|
||||
|
@ -91,6 +97,7 @@
|
|||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
(define-public argagg
|
||||
|
@ -2231,3 +2238,108 @@ also includes a C library that checks casting, multiplication, division,
|
|||
addition and subtraction for all combinations of signed and unsigned 32-bit and
|
||||
64-bit integers.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public wdl
|
||||
;; No tag is available.
|
||||
(let ((commit "da86a62d11e46e4ecd8b16f9775cb5188340a0e2")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "wdl")
|
||||
(version (git-version "0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/justinfrankel/WDL")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
;; This patch fixes error of undefined functions, due to not
|
||||
;; linking libraries, and invalid object.
|
||||
(patches
|
||||
(search-patches "wdl-link-libs-and-fix-jnetlib.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hdb604szkbrlyffiw94rz8wx4nvmk3zdkycfirqgjs7mh0l6vbq"))
|
||||
(modules '((guix build utils)))
|
||||
;; Unbundle third party libraries which are not needed.
|
||||
(snippet
|
||||
'(with-directory-excursion "WDL"
|
||||
(for-each delete-file-recursively
|
||||
(list "cmath"
|
||||
"libpng"
|
||||
"lice/glew"
|
||||
"giflib"
|
||||
"jpeglib"
|
||||
"zlib"))))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-target "test"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _ (chdir "WDL/swell")))
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(with-directory-excursion ".."
|
||||
(invoke "make" "-Ceel2") ;build eel2
|
||||
(invoke "make" "-Cjnetlib")) ;build jnetlib
|
||||
(invoke "make" "SWELL_SUPPORT_GTK=true")
|
||||
(invoke "make" "libSwell.colortheme")))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(chdir "..")
|
||||
|
||||
;; Do not install these directories
|
||||
(delete-file-recursively "lice/test")
|
||||
(delete-file-recursively "swell/sample_project")
|
||||
|
||||
;; Install headers.
|
||||
(let ((include (string-append #$output "/include/WDL")))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(install-file file
|
||||
(string-append include "/"
|
||||
(dirname file))))
|
||||
(find-files "." "\\.h$")))
|
||||
(install-file "swell/libSwell.so"
|
||||
(string-append #$output "/lib"))
|
||||
(install-file "swell/libSwell.colortheme"
|
||||
(string-append #$output "/share/WDL"))
|
||||
(install-file "eel2/loose_eel"
|
||||
(string-append #$output "/libexec"))
|
||||
(install-file "jnetlib/jnl.a"
|
||||
(string-append #$output "/lib")))))))
|
||||
(native-inputs (list pkg-config nasm))
|
||||
(inputs
|
||||
(list cairo
|
||||
fontconfig
|
||||
freetype
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk+
|
||||
libxi
|
||||
libx11
|
||||
mesa
|
||||
zlib))
|
||||
(home-page "https://www.cockos.com/wdl/")
|
||||
(synopsis "Modestly reusable C++ libraries")
|
||||
(description
|
||||
"WDL is a modestly reusable C++ library that offers the following:
|
||||
@itemize
|
||||
@item Inline classes for cleanly managing memory allocations, lists,
|
||||
queues, resource pools, strings, etc.
|
||||
@item File reading/writing wrappers
|
||||
@item Directory scanning API
|
||||
@item SHA-1 implementation
|
||||
@item Mergesort implementation
|
||||
@item Blowfish implementation
|
||||
@item Fast FFT implementation (based on DJBFFT)
|
||||
@item Audio tools
|
||||
@item LICE - Lightweight Image Compositing Engine
|
||||
@item WDL Virtual Window system
|
||||
@item Plush2 - Portable, lightweight software 3d rendering engine
|
||||
@item SWELL - Simple Windows Emulation Layer
|
||||
@item And more.
|
||||
@end itemize")
|
||||
(license license:zlib))))
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
From 2d129502354da4fe39dac13463ea742f8026ab91 Mon Sep 17 00:00:00 2001
|
||||
From: Sughosha <sughosha@proton.me>
|
||||
Date: Tue, 3 Jan 2023 22:15:09 +0100
|
||||
Subject: [PATCH] Link libs and fix jnetlib.
|
||||
|
||||
---
|
||||
WDL/eel2/Makefile | 2 +-
|
||||
WDL/jnetlib/Makefile | 2 +-
|
||||
WDL/swell/Makefile | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/WDL/eel2/Makefile b/WDL/eel2/Makefile
|
||||
index ac2e41f1..0ffca97a 100644
|
||||
--- a/WDL/eel2/Makefile
|
||||
+++ b/WDL/eel2/Makefile
|
||||
@@ -153,7 +153,7 @@ gen-lex: # the output of this, lex.nseel.c, is unused because we have a handwri
|
||||
$(CXX) $(CXXFLAGS) -c -o $@ $^
|
||||
|
||||
loose_eel: loose_eel.o $(OBJS) $(OBJS2)
|
||||
- g++ -o $@ $^ $(CXXFLAGS) $(LFLAGS)
|
||||
+ g++ -o $@ $^ $(CXXFLAGS) $(LFLAGS) -lGL
|
||||
|
||||
clean:
|
||||
-rm -f -- loose_eel loose_eel.o $(OBJS)
|
||||
diff --git a/WDL/jnetlib/Makefile b/WDL/jnetlib/Makefile
|
||||
index 10d9fe8a..85570c5a 100644
|
||||
--- a/WDL/jnetlib/Makefile
|
||||
+++ b/WDL/jnetlib/Makefile
|
||||
@@ -7,7 +7,7 @@ CC = gcc
|
||||
CPP = g++
|
||||
CXX = g++
|
||||
|
||||
-OBJS = asyncdns.o connection.o httpget.o httpserv.o listen.o util.o sercon.o
|
||||
+OBJS = asyncdns.o connection.o httpget.o httpserv.o listen.o util.o
|
||||
|
||||
jnl.a: ${OBJS}
|
||||
-rm -f jnl.a
|
||||
diff --git a/WDL/swell/Makefile b/WDL/swell/Makefile
|
||||
index 9e7e2d87..8e98a543 100644
|
||||
--- a/WDL/swell/Makefile
|
||||
+++ b/WDL/swell/Makefile
|
||||
@@ -167,7 +167,7 @@ libSwell$(DLL_EXT): $(OBJS)
|
||||
$(CXX) -shared -o $@ $(CFLAGS) $(LFLAGS) $^ $(LINKEXTRA)
|
||||
|
||||
test: $(OBJS) test.o
|
||||
- $(CXX) -o test $(CFLAGS) $(LFLAGS) $^ $(LINKEXTRA)
|
||||
+ $(CXX) -o test $(CFLAGS) $(LFLAGS) $^ $(LINKEXTRA) -lpthread -ldl $(shell $(PKG_CONFIG) --libs gtk+-3.0 freetype2) -lfontconfig -lGL -lXi -lX11
|
||||
|
||||
libSwell.colortheme: swell-gdi-generic.cpp $(SWELL_HEADERS)
|
||||
$(CXX) $(CFLAGS) -o make-theme -DSWELL__MAKE_THEME swell-gdi-generic.cpp -lpthread
|
||||
--
|
||||
2.38.1
|
||||
|
Reference in New Issue