Received: (at 69638-done) by debbugs.gnu.org; 12 Apr 2024 19:00:53 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 12 15:00:52 2024 Received: from localhost ([127.0.0.1]:59584 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rvM8o-00021T-Rm for submit <at> debbugs.gnu.org; Fri, 12 Apr 2024 15:00:52 -0400 Received: from mail-qt1-x82e.google.com ([2607:f8b0:4864:20::82e]:54753) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <maxim.cournoyer@HIDDEN>) id 1rvM8m-0001zd-Cp for 69638-done <at> debbugs.gnu.org; Fri, 12 Apr 2024 15:00:50 -0400 Received: by mail-qt1-x82e.google.com with SMTP id d75a77b69052e-43651b7004bso8605061cf.1 for <69638-done <at> debbugs.gnu.org>; Fri, 12 Apr 2024 12:00:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712948432; x=1713553232; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=po1W8KI7fDwizJVNVjkbV17OL1aXS9rTNE5mgZAuy2c=; b=jyVngcqjGgfHPt+S9i8i5kCu2YhLeliZLpBT+gm1mriN/C5puEzDj2p6D5crR3+AKl 7pl6n8uUibvSbN2CJzFiWNstHQGqD69lOhyXwYt/OczH9wcA6+iZFPQhiGZdd4Z7NLhj 45MFRJjd7OnjpGN86t64at4nXCDnzn6SVnWfwjej64aj7tL7DJsDwt9dVfxJZio0mbEQ 3yB6hBc9jHExhjQlP1OjsZRnsWWFbB28OobBmoevBR4zV+zxXAtg8utUZwIZuUPD4KzY lGFRH4fS+dh73+RSf6gBOOJVXWMKzvAhDaRNrbTofHmniJw1MhuDUZtz8PrK1z4Py5+y LbIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712948432; x=1713553232; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=po1W8KI7fDwizJVNVjkbV17OL1aXS9rTNE5mgZAuy2c=; b=ISz5UtJacqHeOsDMNvPtIr+Lr9xcnKzd9GHKvaHaXfPv4Ho/lR2xflTi/DUYDGrjGR X7oF6jimWJvM6A6sUQTZnZxmYJcVHXkXXVdCAmAaHWWNNYVi/jfzADzN1vFvzfUDH4PG XWofvk+jc1G7+NFgmW1Y9KnY5GqtoB0TxuTfST5RtvbwJmttOmVIUxtpMdWjbof/urXv SmzovSajamvZFFFwtHL+CwsDaavzg7OIvIcdMFXbmbgKIcdzjA16YxrryIfkNevuG8pm zkwnSXOfbjADRl4ZTAdv1u5t8/dRXlYcF1n+JldGjuy+LH/QOc5hVFZ8vGaxoflVKCEt PAgA== X-Gm-Message-State: AOJu0Yx4Fwcl1vqKRIouw+PawK0PSlh7EKNbdETBjCVJSwzRoJF3VxXr caHOA5+FucwSw1n7CCe0R+QoNbBdgMX3U6x2ZJQUNux0djTiNepvU1+fAw== X-Google-Smtp-Source: AGHT+IFLTybCHGXyQDqYpbkddRGU0vYwZEpplukWbEdb1o8k9cetbi72qG2Pse97pPMXCwtDf+TjuA== X-Received: by 2002:a05:622a:58f:b0:434:973e:7af2 with SMTP id c15-20020a05622a058f00b00434973e7af2mr3919798qtb.40.1712948432406; Fri, 12 Apr 2024 12:00:32 -0700 (PDT) Received: from hurd (dsl-148-172.b2b2c.ca. [66.158.148.172]) by smtp.gmail.com with ESMTPSA id o15-20020ac8698f000000b00434e251a9e3sm2550818qtq.20.2024.04.12.12.00.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Apr 2024 12:00:31 -0700 (PDT) From: Maxim Cournoyer <maxim.cournoyer@HIDDEN> To: iyzsong@HIDDEN Subject: Re: [bug#69638] [PATCH v3] gnu: sdl: Replace with sdl12-compat. In-Reply-To: <4347cc9aa13d3d76e413ebedd6d20f2965868667.1710062633.git.iyzsong@HIDDEN> (iyzsong@HIDDEN's message of "Sun, 10 Mar 2024 17:33:51 +0800") References: <0979322c4288b59afb9c87759a58489143ce1438.1709908788.git.iyzsong@HIDDEN> <4347cc9aa13d3d76e413ebedd6d20f2965868667.1710062633.git.iyzsong@HIDDEN> Date: Fri, 12 Apr 2024 15:00:28 -0400 Message-ID: <877ch2pfsj.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 69638-done Cc: =?utf-8?B?5a6L5paH5q2m?= <iyzsong@HIDDEN>, 69638-done <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Hi, iyzsong@HIDDEN writes: > From: ®æ‡ <iyzsong@HIDDEN> > > * gnu/packages/sdl.scm (sdl12-compat): New package. > (sdl): Remove package, defined as sdl12-compat. > (sdl2): Don't inherit from sdl. > (propagated-inputs-with-sdl2): Add case for sdl12-compat. > (sdl-union): Hardcode version to "1.2.15" to avoid rebuilds. It was triggering a mass rebuild anyway, so I've opted to use the actual 'sdl' version and merged this to core-updates. Thank you, closing. -- Thanks, Maxim
iyzsong@HIDDEN
:Maxim Cournoyer <maxim.cournoyer@HIDDEN>
:Received: (at 69638) by debbugs.gnu.org; 10 Mar 2024 09:34:31 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Mar 10 05:34:31 2024 Received: from localhost ([127.0.0.1]:35644 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rjFZe-0001tz-Op for submit <at> debbugs.gnu.org; Sun, 10 Mar 2024 05:34:31 -0400 Received: from mail.envs.net ([5.199.136.28]:48954) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <iyzsong@HIDDEN>) id 1rjFZa-0001tn-5o for 69638 <at> debbugs.gnu.org; Sun, 10 Mar 2024 05:34:30 -0400 Received: from localhost (mail.envs.net [127.0.0.1]) by mail.envs.net (Postfix) with ESMTP id DC4EB38A071C; Sun, 10 Mar 2024 09:33:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=envs.net; s=modoboa; t=1710063230; bh=g21cdaeICgTDV0zopoJQSUtOEjIYxzDCSeSmSHdifxg=; h=From:To:Cc:Subject:Date:From; b=Oc0YH/NKKvL4nXARY8KroAONmIoNqCAeuMACKskKNChH1NfpL5JjiFOc3GU0xsrm1 SD+SMUuviU0jpA/dz3DzRAIyVDfUOWiwgiMI9AiN7YEzjpT2HUhzx31o6DMtsRW4Bu v+n034oI+Kc6nSIcqKN2ixBGV8Li5asjEQYY8BXdet7ZxZuS5Xu8Yc/SugX5X40qEh ghDEqNzeOBljrvrKBOWlB+OMojOAJKOKx37LhKyHf+sT4iw/Hc4PW/ljzhsJTQosRk MFUa0hkvutqUQBqrUAIIgHFaQUQ1rTqFy3WL/VinyvGlUkwE3oxZEAvQiLC/UEjBnQ z6ay9Ghvg99JzwCrbweCZtN/TF7bKAm8+KcltdjSPiMpEzLM69sytp0Cyhrpgy9GjF HfNjTwXvMKnG4FSqRbTBvvELBsBJoy51eTXQomndkM/oG9ujFk3TeXk9ZECYeT4Qbk rwiLS1b8XhZR6OJu4zeLTZ5CW9gdJHJ76V3/+0bATi+7f9oU2DLZIq97iRhkFr+Yy9 IY9TVbnm2dDzbhem/ajiuJKATB+OuWQNDOMoQmYusG/WfV/hgZEeFfggZjf7ixqgsp XzKeIOqBcV0V9aenJSnsbuFHaTF4EEDxmS3oGEzqVozoBdI8jVk6iPnj0a8uYPk2Yc ax7k/v4bGi+X/p6ttLVJJ1FU= X-Virus-Scanned: Debian amavisd-new at mail.envs.net Received: from mail.envs.net ([127.0.0.1]) by localhost (mail.envs.net [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id YW4RStho5Ovm; Sun, 10 Mar 2024 09:33:46 +0000 (UTC) Received: from localhost (unknown [36.170.57.203]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.envs.net (Postfix) with ESMTPSA; Sun, 10 Mar 2024 09:33:46 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id 0bb842bd; Sun, 10 Mar 2024 09:34:06 +0000 (UTC) From: iyzsong@HIDDEN To: 69638 <at> debbugs.gnu.org Subject: [PATCH v3] gnu: sdl: Replace with sdl12-compat. Date: Sun, 10 Mar 2024 17:33:51 +0800 Message-ID: <4347cc9aa13d3d76e413ebedd6d20f2965868667.1710062633.git.iyzsong@HIDDEN> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Type: text/plain; charset=yes Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 69638 Cc: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) From: å®‹æ–‡æ¦ <iyzsong@HIDDEN> * gnu/packages/sdl.scm (sdl12-compat): New package. (sdl): Remove package, defined as sdl12-compat. (sdl2): Don't inherit from sdl. (propagated-inputs-with-sdl2): Add case for sdl12-compat. (sdl-union): Hardcode version to "1.2.15" to avoid rebuilds. * gnu/packages/patches/sdl-libx11-1.6.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Unregister it. Change-Id: I843d349b3d69164cc640c7db204464a51819a0df --- Changes since v2: sdl12-compat: Add a 'patch-sdl-config' phase to fix build for frozen-bubble. --- gnu/local.mk | 1 - gnu/packages/patches/sdl-libx11-1.6.patch | 13 -- gnu/packages/sdl.scm | 180 +++++++++++++--------- 3 files changed, 109 insertions(+), 85 deletions(-) delete mode 100644 gnu/packages/patches/sdl-libx11-1.6.patch diff --git a/gnu/local.mk b/gnu/local.mk index 174c4c30e2..93bed266ac 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2030,7 +2030,6 @@ dist_patch_DATA = \ %D%/packages/patches/scons-test-environment.patch \ %D%/packages/patches/screen-hurd-path-max.patch \ %D%/packages/patches/scsh-nonstring-search-path.patch \ - %D%/packages/patches/sdl-libx11-1.6.patch \ %D%/packages/patches/seed-webkit.patch \ %D%/packages/patches/sendgmail-accept-ignored-gsuite-flag.patch \ %D%/packages/patches/sendgmail-remove-domain-restriction.patch \ diff --git a/gnu/packages/patches/sdl-libx11-1.6.patch b/gnu/packages/patches/sdl-libx11-1.6.patch deleted file mode 100644 index 73ba9ac071..0000000000 --- a/gnu/packages/patches/sdl-libx11-1.6.patch +++ /dev/null @@ -1,13 +0,0 @@ -Update _XData32 declaration in SDL_x11sym.h to match that of libx11 1.6. - ---- SDL-1.2.15/src/video/x11/SDL_x11sym.h.~1~ 2012-01-19 01:30:06.000000000 -0500 -+++ SDL-1.2.15/src/video/x11/SDL_x11sym.h 2014-12-26 00:22:36.445067694 -0500 -@@ -165,7 +165,7 @@ - */ - #ifdef LONG64 - SDL_X11_MODULE(IO_32BIT) --SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return) -+SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return) - SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),) - #endif - diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 3a4aafcaa7..17cae5708f 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -43,6 +43,7 @@ (define-module (gnu packages sdl) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils) + #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) @@ -67,35 +68,48 @@ (define-module (gnu packages sdl) #:use-module (gnu packages xorg) #:export (sdl-union)) -(define-public sdl +(define-public sdl2 (package - (name "sdl") - (version "1.2.15") + (name "sdl2") + (version "2.28.5") (source (origin - (method url-fetch) - (uri - (string-append "https://libsdl.org/release/SDL-" - version ".tar.gz")) - (sha256 - (base32 - "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn")) - (patches (search-patches "sdl-libx11-1.6.patch")))) + (method url-fetch) + (uri + (string-append "https://libsdl.org/release/SDL2-" + version ".tar.gz")) + (sha256 + (base32 + "1r36cspzv6h8abiqbbkrgm17g975p9wiziir2xabj3721dyv6b1k")))) (build-system gnu-build-system) + ;; TODO: Remove 'append' and 'cons*', was used to avoid rebuilds. (arguments - '(;; Explicitly link against shared libraries instead of dlopening them. - ;; For X11, ALSA, and PulseAudio. - ;; OpenGL library is still dlopened at runtime. - #:configure-flags '("--disable-alsa-shared" - "--disable-pulseaudio-shared" - "--disable-x11-shared" - ;; Explicitly link with mesa. - ;; This add mesa to libsdl's RUNPATH, to make dlopen - ;; finding the libGL from mesa at runtime. - "LDFLAGS=-lGL") - - #:make-flags '("V=1") ;build verbosely - - #:tests? #f)) ; no check target + (list + #:tests? #f ;no check target + ;; Explicitly link against shared libraries instead of dlopening them. + ;; For X11, ALSA, and PulseAudio. + ;; OpenGL library is still dlopened at runtime. + #:configure-flags + #~(append + '("--disable-wayland-shared" + "--enable-video-kmsdrm" + "--disable-kmsdrm-shared") + '("--disable-alsa-shared" + "--disable-pulseaudio-shared" + "--disable-x11-shared" + ;; Explicitly link with mesa. + ;; This add mesa to libsdl's RUNPATH, to make dlopen + ;; finding the libGL from mesa at runtime. + "LDFLAGS=-lGL")) + #:make-flags + #~(cons* + ;; SDL dlopens libudev and libvulkan, so make sure they are in + ;; rpath. This overrides the LDFLAG set in sdl’s configure-flags, + ;; which isn’t necessary as sdl2 includes Mesa by default. + (string-append "LDFLAGS=-Wl,-rpath," + #$(this-package-input "eudev") "/lib" + ",-rpath," + #$(this-package-input "vulkan-loader") "/lib") + '("V=1")))) ;build verbosely (propagated-inputs ;; SDL headers include X11 headers. (list libx11 @@ -105,60 +119,82 @@ (define-public sdl ;; change in pkg-config. mesa)) (native-inputs (list pkg-config)) - (inputs (list libxrandr glu alsa-lib pulseaudio)) + (inputs + ;; SDL2 needs to be built with ibus support otherwise some systems + ;; experience a bug where input events are doubled. + ;; + ;; For more information, see: https://dev.solus-project.com/T1721 + (list + libxrandr + glu + alsa-lib + pulseaudio + dbus + eudev ;for discovering input devices + glib + ibus-minimal + libxkbcommon + libxcursor ;enables X11 cursor support + vulkan-loader + wayland + wayland-protocols)) (outputs '("out" "debug")) (synopsis "Cross platform game development library") - (description "Simple DirectMedia Layer is a cross-platform development -library designed to provide low level access to audio, keyboard, mouse, -joystick, and graphics hardware.") + (description + "Simple DirectMedia Layer is a cross-platform development library designed to +provide low level access to audio, keyboard, mouse, joystick, and graphics +hardware.") (home-page "https://libsdl.org/") - (license license:lgpl2.1))) + (license license:bsd-3))) -(define-public sdl2 +(define-public sdl12-compat (package - (inherit sdl) - (name "sdl2") - (version "2.28.5") + (name "sdl12-compat") + (version "1.2.68") (source (origin - (method url-fetch) - (uri - (string-append "https://libsdl.org/release/SDL2-" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/libsdl-org/sdl12-compat") + (commit (string-append "release-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1r36cspzv6h8abiqbbkrgm17g975p9wiziir2xabj3721dyv6b1k")))) + "0qsjlzi1wqszi6k4pc3k9xdvzid5cx6ql8wbjw6qdapzpvf6arvz")))) + (build-system cmake-build-system) (arguments - (substitute-keyword-arguments (package-arguments sdl) - ((#:configure-flags flags) - #~(append '("--disable-wayland-shared" "--enable-video-kmsdrm" - "--disable-kmsdrm-shared") - #$flags)) - ((#:make-flags flags ''()) - #~(cons* - ;; SDL dlopens libudev and libvulkan, so make sure they are in - ;; rpath. This overrides the LDFLAG set in sdl’s configure-flags, - ;; which isn’t necessary as sdl2 includes Mesa by default. - (string-append "LDFLAGS=-Wl,-rpath," - #$(this-package-input "eudev") "/lib" - ",-rpath," - #$(this-package-input "vulkan-loader") "/lib") - #$flags)))) - (inputs - ;; SDL2 needs to be built with ibus support otherwise some systems - ;; experience a bug where input events are doubled. - ;; - ;; For more information, see: https://dev.solus-project.com/T1721 - (modify-inputs (package-inputs sdl) - (append dbus - eudev ;for discovering input devices - glib - ibus-minimal - libxkbcommon - libxcursor ;enables X11 cursor support - vulkan-loader - wayland - wayland-protocols))) - (license license:bsd-3))) + (list #:tests? #f ;no check target + #:configure-flags + ;; This add SDL2 to sdl12-compat's RUNPATH, to make dlopen finding the + ;; libSDL2 at runtime. + #~'("-DCMAKE_SHARED_LINKER_FLAGS=-lSDL2") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-sdl-config + (lambda _ + ;; Keep the old behaviour to honour "--prefix" option for + ;; "--cflags" and "--libs", required by 'perl-alien-sdl'. + (substitute* "sdl-config.in" + (("echo -I[$][{]includedir[}]") "echo -I${prefix}/include") + (("echo -L[$][{]libdir[}]") "echo -L${prefix}/lib")))) + (add-after 'install 'install-sdl.pc + (lambda* (#:key outputs #:allow-other-keys) + (let ((pcdir (string-append (assoc-ref outputs "out") + "/lib/pkgconfig"))) + (symlink (string-append pcdir "/sdl12_compat.pc") + (string-append pcdir "/sdl.pc")))))))) + (inputs (list sdl2)) + (propagated-inputs (list glu)) ;required by SDL_opengl.h + (synopsis "Cross platform game development library") + (description "Simple DirectMedia Layer is a cross-platform development library +designed to provide low level access to audio, keyboard, mouse, joystick, and +graphics hardware. This package is a compatibility layer; it provides a binary and +source compatible API for programs written against SDL 1.2, but it uses SDL 2.0 +behind the scenes.") + (home-page "https://libsdl.org/") + ;; dr_mp3 code are under public domain. + (license (list license:zlib license:public-domain)))) + +(define-public sdl sdl12-compat) (define-public sdl2-2.0 (package @@ -423,7 +459,7 @@ (define* (sdl-union #:optional (packages (list sdl sdl-gfx sdl-net sdl-ttf If PACKAGES are not specified, all SDL packages are used." (package (name "sdl-union") - (version (package-version sdl)) + (version "1.2.15") ;TODO: use correct SDL version (source #f) (build-system trivial-build-system) (arguments @@ -452,6 +488,8 @@ (define (propagated-inputs-with-sdl2 package) (map (match-lambda (("sdl" _) `("sdl2" ,sdl2)) + (("sdl12-compat" _) + `("sdl2" ,sdl2)) (other other)) (package-propagated-inputs package))) base-commit: 7758e63f7a89f53fbb7c7a265ae472af0a8dfab0 -- 2.41.0
guix-patches@HIDDEN
:bug#69638
; Package guix-patches
.
Full text available.Received: (at 69638) by debbugs.gnu.org; 8 Mar 2024 15:07:17 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 08 10:07:17 2024 Received: from localhost ([127.0.0.1]:59265 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1riboa-0002Gc-NN for submit <at> debbugs.gnu.org; Fri, 08 Mar 2024 10:07:17 -0500 Received: from mail.envs.net ([5.199.136.28]:48050) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <iyzsong@HIDDEN>) id 1riboY-0002GN-05 for 69638 <at> debbugs.gnu.org; Fri, 08 Mar 2024 10:07:15 -0500 Received: from localhost (mail.envs.net [127.0.0.1]) by mail.envs.net (Postfix) with ESMTP id A65AF38A0720; Fri, 8 Mar 2024 15:06:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=envs.net; s=modoboa; t=1709910398; bh=CG9Pgw3Vv9Sgw/IFYu56oIaxjxQtrBWnoD0sy9PW/gQ=; h=From:To:Cc:Subject:Date:From; b=Vf6CEjs8KaPHzMUOS9UTKBfvF3Gbp1xhqdo+CSMdQlgWgXpQ0OgAL9XIWj79FYTM0 sVmIWFdVmBf+c4YjC4CkiX6LBHnQM3NnW+c5AYpZX9eYaXDN3jPOEmddesdLBPqwLF pjgve0oOfRWVJX9r/JAHeOknGAYrbJRoGDIrgzGeGeahSvbRKgU6FwScH+GMKDzYUb sodAmruspuWSyoU5rTbOohrUofwC9auvq6IJYZb4SxPY+KZZjA69TX1px42hFBGoEb vENWxhxhk6kuLkRt7AfhqGWYPXj2gHB6SbWdLfsiB0839QaAWdhXh3UCNtC1x55BWd qpO6X+ohj2rFhOxHUD/zdNiy3hWfThyWrHP3UCEXnqBYwrE+HKIwQw/IoXbtlsJk7h /6o4Cp8Pg3/0qruULakq5YyiBOthPrDroDfevXZZPtRG5hjVXT3HlW8xGIXeLDbNc8 4Kcwt5fgigR+yg0JGsp1/GNDYqmSpB9z3b9tnWbkXL20mRrM7unRAVD15Zjl3JzVHS xKZoJsJzpDM7CpreidZlIMszifi/jesayHsgsFoXEyp6cT+jQTMPaNNto9Btr3H/ay CCVk1R0LPKVZGwM1eI5jWtpsS0tMKdjDy0Hp4Qj/2IRXijQccRI+xT2YzL40b25Vj0 ZJRlO1pZFXF0FFgDKmDiU/0E= X-Virus-Scanned: Debian amavisd-new at mail.envs.net Received: from mail.envs.net ([127.0.0.1]) by localhost (mail.envs.net [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id amtz9Eczj2pm; Fri, 8 Mar 2024 15:06:34 +0000 (UTC) Received: from localhost (unknown [36.170.57.203]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.envs.net (Postfix) with ESMTPSA; Fri, 8 Mar 2024 15:06:34 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id f102fce8; Fri, 8 Mar 2024 15:06:52 +0000 (UTC) From: iyzsong@HIDDEN To: 69638 <at> debbugs.gnu.org Subject: [PATCH v2] gnu: sdl: Replace with sdl12-compat. Date: Fri, 8 Mar 2024 23:06:48 +0800 Message-ID: <7eeca0be6e33b66a1f15e4e43d5b66f6a531616a.1709910349.git.iyzsong@HIDDEN> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 69638 Cc: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) From: å®‹æ–‡æ¦ <iyzsong@HIDDEN> * gnu/packages/sdl.scm (sdl12-compat): New package. (sdl): Remove package, defined as sdl12-compat. (sdl2): Don't inherit from sdl. (propagated-inputs-with-sdl2): Add case for sdl12-compat. (sdl-union): Hardcode version to "1.2.15" to avoid rebuilds. * gnu/packages/patches/sdl-libx11-1.6.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Unregister it. Change-Id: I843d349b3d69164cc640c7db204464a51819a0df --- gnu/local.mk | 1 - gnu/packages/patches/sdl-libx11-1.6.patch | 13 -- gnu/packages/sdl.scm | 173 +++++++++++++--------- 3 files changed, 102 insertions(+), 85 deletions(-) delete mode 100644 gnu/packages/patches/sdl-libx11-1.6.patch diff --git a/gnu/local.mk b/gnu/local.mk index 16241ee441..0f76d0c771 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2027,7 +2027,6 @@ dist_patch_DATA = \ %D%/packages/patches/scons-test-environment.patch \ %D%/packages/patches/screen-hurd-path-max.patch \ %D%/packages/patches/scsh-nonstring-search-path.patch \ - %D%/packages/patches/sdl-libx11-1.6.patch \ %D%/packages/patches/seed-webkit.patch \ %D%/packages/patches/sendgmail-accept-ignored-gsuite-flag.patch \ %D%/packages/patches/sendgmail-remove-domain-restriction.patch \ diff --git a/gnu/packages/patches/sdl-libx11-1.6.patch b/gnu/packages/patches/sdl-libx11-1.6.patch deleted file mode 100644 index 73ba9ac071..0000000000 --- a/gnu/packages/patches/sdl-libx11-1.6.patch +++ /dev/null @@ -1,13 +0,0 @@ -Update _XData32 declaration in SDL_x11sym.h to match that of libx11 1.6. - ---- SDL-1.2.15/src/video/x11/SDL_x11sym.h.~1~ 2012-01-19 01:30:06.000000000 -0500 -+++ SDL-1.2.15/src/video/x11/SDL_x11sym.h 2014-12-26 00:22:36.445067694 -0500 -@@ -165,7 +165,7 @@ - */ - #ifdef LONG64 - SDL_X11_MODULE(IO_32BIT) --SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return) -+SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return) - SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),) - #endif - diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 3a4aafcaa7..3d81baf368 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -43,6 +43,7 @@ (define-module (gnu packages sdl) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils) + #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) @@ -67,35 +68,48 @@ (define-module (gnu packages sdl) #:use-module (gnu packages xorg) #:export (sdl-union)) -(define-public sdl +(define-public sdl2 (package - (name "sdl") - (version "1.2.15") + (name "sdl2") + (version "2.28.5") (source (origin - (method url-fetch) - (uri - (string-append "https://libsdl.org/release/SDL-" - version ".tar.gz")) - (sha256 - (base32 - "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn")) - (patches (search-patches "sdl-libx11-1.6.patch")))) + (method url-fetch) + (uri + (string-append "https://libsdl.org/release/SDL2-" + version ".tar.gz")) + (sha256 + (base32 + "1r36cspzv6h8abiqbbkrgm17g975p9wiziir2xabj3721dyv6b1k")))) (build-system gnu-build-system) + ;; TODO: Remove 'append' and 'cons*', was used to avoid rebuilds. (arguments - '(;; Explicitly link against shared libraries instead of dlopening them. - ;; For X11, ALSA, and PulseAudio. - ;; OpenGL library is still dlopened at runtime. - #:configure-flags '("--disable-alsa-shared" - "--disable-pulseaudio-shared" - "--disable-x11-shared" - ;; Explicitly link with mesa. - ;; This add mesa to libsdl's RUNPATH, to make dlopen - ;; finding the libGL from mesa at runtime. - "LDFLAGS=-lGL") - - #:make-flags '("V=1") ;build verbosely - - #:tests? #f)) ; no check target + (list + #:tests? #f ;no check target + ;; Explicitly link against shared libraries instead of dlopening them. + ;; For X11, ALSA, and PulseAudio. + ;; OpenGL library is still dlopened at runtime. + #:configure-flags + #~(append + '("--disable-wayland-shared" + "--enable-video-kmsdrm" + "--disable-kmsdrm-shared") + '("--disable-alsa-shared" + "--disable-pulseaudio-shared" + "--disable-x11-shared" + ;; Explicitly link with mesa. + ;; This add mesa to libsdl's RUNPATH, to make dlopen + ;; finding the libGL from mesa at runtime. + "LDFLAGS=-lGL")) + #:make-flags + #~(cons* + ;; SDL dlopens libudev and libvulkan, so make sure they are in + ;; rpath. This overrides the LDFLAG set in sdl’s configure-flags, + ;; which isn’t necessary as sdl2 includes Mesa by default. + (string-append "LDFLAGS=-Wl,-rpath," + #$(this-package-input "eudev") "/lib" + ",-rpath," + #$(this-package-input "vulkan-loader") "/lib") + '("V=1")))) ;build verbosely (propagated-inputs ;; SDL headers include X11 headers. (list libx11 @@ -105,60 +119,75 @@ (define-public sdl ;; change in pkg-config. mesa)) (native-inputs (list pkg-config)) - (inputs (list libxrandr glu alsa-lib pulseaudio)) + (inputs + ;; SDL2 needs to be built with ibus support otherwise some systems + ;; experience a bug where input events are doubled. + ;; + ;; For more information, see: https://dev.solus-project.com/T1721 + (list + libxrandr + glu + alsa-lib + pulseaudio + dbus + eudev ;for discovering input devices + glib + ibus-minimal + libxkbcommon + libxcursor ;enables X11 cursor support + vulkan-loader + wayland + wayland-protocols)) (outputs '("out" "debug")) (synopsis "Cross platform game development library") - (description "Simple DirectMedia Layer is a cross-platform development -library designed to provide low level access to audio, keyboard, mouse, -joystick, and graphics hardware.") + (description + "Simple DirectMedia Layer is a cross-platform development library designed to +provide low level access to audio, keyboard, mouse, joystick, and graphics +hardware.") (home-page "https://libsdl.org/") - (license license:lgpl2.1))) + (license license:bsd-3))) -(define-public sdl2 +(define-public sdl12-compat (package - (inherit sdl) - (name "sdl2") - (version "2.28.5") + (name "sdl12-compat") + (version "1.2.68") (source (origin - (method url-fetch) - (uri - (string-append "https://libsdl.org/release/SDL2-" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/libsdl-org/sdl12-compat") + (commit (string-append "release-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1r36cspzv6h8abiqbbkrgm17g975p9wiziir2xabj3721dyv6b1k")))) + "0qsjlzi1wqszi6k4pc3k9xdvzid5cx6ql8wbjw6qdapzpvf6arvz")))) + (build-system cmake-build-system) (arguments - (substitute-keyword-arguments (package-arguments sdl) - ((#:configure-flags flags) - #~(append '("--disable-wayland-shared" "--enable-video-kmsdrm" - "--disable-kmsdrm-shared") - #$flags)) - ((#:make-flags flags ''()) - #~(cons* - ;; SDL dlopens libudev and libvulkan, so make sure they are in - ;; rpath. This overrides the LDFLAG set in sdl’s configure-flags, - ;; which isn’t necessary as sdl2 includes Mesa by default. - (string-append "LDFLAGS=-Wl,-rpath," - #$(this-package-input "eudev") "/lib" - ",-rpath," - #$(this-package-input "vulkan-loader") "/lib") - #$flags)))) - (inputs - ;; SDL2 needs to be built with ibus support otherwise some systems - ;; experience a bug where input events are doubled. - ;; - ;; For more information, see: https://dev.solus-project.com/T1721 - (modify-inputs (package-inputs sdl) - (append dbus - eudev ;for discovering input devices - glib - ibus-minimal - libxkbcommon - libxcursor ;enables X11 cursor support - vulkan-loader - wayland - wayland-protocols))) - (license license:bsd-3))) + (list #:tests? #f ;no check target + #:configure-flags + ;; This add SDL2 to sdl12-compat's RUNPATH, to make dlopen finding the + ;; libSDL2 at runtime. + #~'("-DCMAKE_SHARED_LINKER_FLAGS=-lSDL2") + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-sdl.pc + (lambda* (#:key outputs #:allow-other-keys) + (let ((pcdir (string-append (assoc-ref outputs "out") + "/lib/pkgconfig"))) + (symlink (string-append pcdir "/sdl12_compat.pc") + (string-append pcdir "/sdl.pc")))))))) + (inputs (list sdl2)) + (propagated-inputs (list glu)) ;required by SDL_opengl.h + (synopsis "Cross platform game development library") + (description "Simple DirectMedia Layer is a cross-platform development library +designed to provide low level access to audio, keyboard, mouse, joystick, and +graphics hardware. This package is a compatibility layer; it provides a binary and +source compatible API for programs written against SDL 1.2, but it uses SDL 2.0 +behind the scenes.") + (home-page "https://libsdl.org/") + ;; dr_mp3 code are under public domain. + (license (list license:zlib license:public-domain)))) + +(define-public sdl sdl12-compat) (define-public sdl2-2.0 (package @@ -423,7 +452,7 @@ (define* (sdl-union #:optional (packages (list sdl sdl-gfx sdl-net sdl-ttf If PACKAGES are not specified, all SDL packages are used." (package (name "sdl-union") - (version (package-version sdl)) + (version "1.2.15") ;TODO: use correct SDL version (source #f) (build-system trivial-build-system) (arguments @@ -452,6 +481,8 @@ (define (propagated-inputs-with-sdl2 package) (map (match-lambda (("sdl" _) `("sdl2" ,sdl2)) + (("sdl12-compat" _) + `("sdl2" ,sdl2)) (other other)) (package-propagated-inputs package))) base-commit: de3f86443837b7bd6e3bad11dbaeed2550d4207c -- 2.41.0
guix-patches@HIDDEN
:bug#69638
; Package guix-patches
.
Full text available.Received: (at submit) by debbugs.gnu.org; 8 Mar 2024 14:40:38 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 08 09:40:37 2024 Received: from localhost ([127.0.0.1]:57155 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1ribOn-0000fd-10 for submit <at> debbugs.gnu.org; Fri, 08 Mar 2024 09:40:37 -0500 Received: from lists.gnu.org ([209.51.188.17]:47534) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <iyzsong@HIDDEN>) id 1ribOk-0000fP-6a for submit <at> debbugs.gnu.org; Fri, 08 Mar 2024 09:40:35 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <iyzsong@HIDDEN>) id 1ribOC-0006Vi-F9 for guix-patches@HIDDEN; Fri, 08 Mar 2024 09:40:00 -0500 Received: from mail.envs.net ([5.199.136.28]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <iyzsong@HIDDEN>) id 1ribO8-0000Yi-W5 for guix-patches@HIDDEN; Fri, 08 Mar 2024 09:40:00 -0500 Received: from localhost (mail.envs.net [127.0.0.1]) by mail.envs.net (Postfix) with ESMTP id 7838E38A071C; Fri, 8 Mar 2024 14:39:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=envs.net; s=modoboa; t=1709908792; bh=giXcNYMqVSryJoEHBlznFZ5ss2WbCS28d2XQKgdKcIo=; h=From:To:Cc:Subject:Date:From; b=IcMK9jVQsb0P2rrQuJXNOK4DmLRPC9km92YcuR7Pt/UZW73Wdeelqs7q2Gta5ByIR yrJ42Qt9/8JzOiF2XbZDU83dfu2fFbempVQ2xM/5wmJD4Nkl8uK8fuhgdL9mme3jhV SZSxVZmFNB9iNudj9OeBRxw/Ot02rcjBT18Yu5waMp59sbdzQDeKE3H8ZTIrLE5CRr VrxxtCyIin2ONQKnBilOwbHnLVGXNAh9SoyIMbPS/jHvp6QAEADDEwH5GgESDMPuln TuXWvu732LmKfBVuOzj9H0TPTUwhYsLXACZQeRaZ31BlwutZuVKII1kXD2/hRi1tZ4 u8nr4emRlewtEYwBiFn5gqKoF5luvnMs14tgmWNlzBFWPx9lmsmBEwqhhP4L/ehTjX QGqjom84LzeaHK/Mpjm2DOmROzLGH2hdYZT9koHdzI4e/lT1wXPODFpO0NV3WcetDh cA4cN0GdqFHWJmnm2xLt+TcqqMUkuPVxlXwsnuBqKkH4baWz2XWYlbR3FrHeRGL5KS KEcAaf4ITYUjJh5oOPorvIaH+6pbQIZHRvT8fE6iIf/Nbm3V5Mw7B6TadkYRmi959+ No7FZRtJRsUjBCtUMNUIttwheK0ViRGZnyGaHruuO0Ne4hbDjkKf/qLqDCiJT/ZXBG HUcZQA8Yzrn18FhVBjujGwWI= X-Virus-Scanned: Debian amavisd-new at mail.envs.net Received: from mail.envs.net ([127.0.0.1]) by localhost (mail.envs.net [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id fW-5G0yhStt5; Fri, 8 Mar 2024 14:39:48 +0000 (UTC) Received: from localhost (unknown [36.170.57.203]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.envs.net (Postfix) with ESMTPSA; Fri, 8 Mar 2024 14:39:48 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id 67cc2e9c; Fri, 8 Mar 2024 14:40:05 +0000 (UTC) From: iyzsong@HIDDEN To: guix-patches@HIDDEN Subject: [PATCH] gnu: sdl: Replace with sdl12-compat. Date: Fri, 8 Mar 2024 22:40:00 +0800 Message-ID: <0979322c4288b59afb9c87759a58489143ce1438.1709908788.git.iyzsong@HIDDEN> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=5.199.136.28; envelope-from=iyzsong@HIDDEN; helo=mail.envs.net X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.4 (--) From: å®‹æ–‡æ¦ <iyzsong@HIDDEN> * gnu/packages/sdl.scm (sdl12-compat): New package. (sdl): Remove package, defined as sdl12-compat. (sdl2): Don't inherit from sdl. (propagated-inputs-with-sdl2): Add case for sdl12-compat. (sdl-union): Hardcode version to "1.2.15" to avoid rebuilds. Change-Id: I843d349b3d69164cc640c7db204464a51819a0df --- gnu/packages/sdl.scm | 165 ++++++++++++++++++++++++------------------- 1 file changed, 94 insertions(+), 71 deletions(-) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 3a4aafcaa7..8646e505c4 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -43,6 +43,7 @@ (define-module (gnu packages sdl) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils) + #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) @@ -67,35 +68,48 @@ (define-module (gnu packages sdl) #:use-module (gnu packages xorg) #:export (sdl-union)) -(define-public sdl +(define-public sdl2 (package - (name "sdl") - (version "1.2.15") + (name "sdl2") + (version "2.28.5") (source (origin - (method url-fetch) - (uri - (string-append "https://libsdl.org/release/SDL-" - version ".tar.gz")) - (sha256 - (base32 - "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn")) - (patches (search-patches "sdl-libx11-1.6.patch")))) + (method url-fetch) + (uri + (string-append "https://libsdl.org/release/SDL2-" + version ".tar.gz")) + (sha256 + (base32 + "1r36cspzv6h8abiqbbkrgm17g975p9wiziir2xabj3721dyv6b1k")))) (build-system gnu-build-system) + ;; TODO: Remove 'append' and 'cons*', was used to avoid rebuilds. (arguments - '(;; Explicitly link against shared libraries instead of dlopening them. - ;; For X11, ALSA, and PulseAudio. - ;; OpenGL library is still dlopened at runtime. - #:configure-flags '("--disable-alsa-shared" - "--disable-pulseaudio-shared" - "--disable-x11-shared" - ;; Explicitly link with mesa. - ;; This add mesa to libsdl's RUNPATH, to make dlopen - ;; finding the libGL from mesa at runtime. - "LDFLAGS=-lGL") - - #:make-flags '("V=1") ;build verbosely - - #:tests? #f)) ; no check target + (list + #:tests? #f ;no check target + ;; Explicitly link against shared libraries instead of dlopening them. + ;; For X11, ALSA, and PulseAudio. + ;; OpenGL library is still dlopened at runtime. + #:configure-flags + #~(append + '("--disable-wayland-shared" + "--enable-video-kmsdrm" + "--disable-kmsdrm-shared") + '("--disable-alsa-shared" + "--disable-pulseaudio-shared" + "--disable-x11-shared" + ;; Explicitly link with mesa. + ;; This add mesa to libsdl's RUNPATH, to make dlopen + ;; finding the libGL from mesa at runtime. + "LDFLAGS=-lGL")) + #:make-flags + #~(cons* + ;; SDL dlopens libudev and libvulkan, so make sure they are in + ;; rpath. This overrides the LDFLAG set in sdl’s configure-flags, + ;; which isn’t necessary as sdl2 includes Mesa by default. + (string-append "LDFLAGS=-Wl,-rpath," + #$(this-package-input "eudev") "/lib" + ",-rpath," + #$(this-package-input "vulkan-loader") "/lib") + '("V=1")))) ;build verbosely (propagated-inputs ;; SDL headers include X11 headers. (list libx11 @@ -105,60 +119,67 @@ (define-public sdl ;; change in pkg-config. mesa)) (native-inputs (list pkg-config)) - (inputs (list libxrandr glu alsa-lib pulseaudio)) + (inputs + ;; SDL2 needs to be built with ibus support otherwise some systems + ;; experience a bug where input events are doubled. + ;; + ;; For more information, see: https://dev.solus-project.com/T1721 + (list + libxrandr + glu + alsa-lib + pulseaudio + dbus + eudev ;for discovering input devices + glib + ibus-minimal + libxkbcommon + libxcursor ;enables X11 cursor support + vulkan-loader + wayland + wayland-protocols)) (outputs '("out" "debug")) (synopsis "Cross platform game development library") - (description "Simple DirectMedia Layer is a cross-platform development -library designed to provide low level access to audio, keyboard, mouse, -joystick, and graphics hardware.") + (description + "Simple DirectMedia Layer is a cross-platform development library designed to +provide low level access to audio, keyboard, mouse, joystick, and graphics +hardware.") (home-page "https://libsdl.org/") - (license license:lgpl2.1))) + (license license:bsd-3))) -(define-public sdl2 +(define-public sdl12-compat (package - (inherit sdl) - (name "sdl2") - (version "2.28.5") + (name "sdl12-compat") + (version "1.2.68") (source (origin - (method url-fetch) - (uri - (string-append "https://libsdl.org/release/SDL2-" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/libsdl-org/sdl12-compat") + (commit (string-append "release-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1r36cspzv6h8abiqbbkrgm17g975p9wiziir2xabj3721dyv6b1k")))) + "0qsjlzi1wqszi6k4pc3k9xdvzid5cx6ql8wbjw6qdapzpvf6arvz")))) + (build-system cmake-build-system) (arguments - (substitute-keyword-arguments (package-arguments sdl) - ((#:configure-flags flags) - #~(append '("--disable-wayland-shared" "--enable-video-kmsdrm" - "--disable-kmsdrm-shared") - #$flags)) - ((#:make-flags flags ''()) - #~(cons* - ;; SDL dlopens libudev and libvulkan, so make sure they are in - ;; rpath. This overrides the LDFLAG set in sdl’s configure-flags, - ;; which isn’t necessary as sdl2 includes Mesa by default. - (string-append "LDFLAGS=-Wl,-rpath," - #$(this-package-input "eudev") "/lib" - ",-rpath," - #$(this-package-input "vulkan-loader") "/lib") - #$flags)))) - (inputs - ;; SDL2 needs to be built with ibus support otherwise some systems - ;; experience a bug where input events are doubled. - ;; - ;; For more information, see: https://dev.solus-project.com/T1721 - (modify-inputs (package-inputs sdl) - (append dbus - eudev ;for discovering input devices - glib - ibus-minimal - libxkbcommon - libxcursor ;enables X11 cursor support - vulkan-loader - wayland - wayland-protocols))) - (license license:bsd-3))) + (list #:tests? #f ;no check target + #:configure-flags + ;; This add SDL2 to sdl12-compat's RUNPATH, to make dlopen finding the + ;; libSDL2 at runtime. + #~'("-DCMAKE_SHARED_LINKER_FLAGS=-lSDL2"))) + (inputs (list sdl2)) + (propagated-inputs (list glu)) ;required by SDL_opengl.h + (synopsis "Cross platform game development library") + (description "Simple DirectMedia Layer is a cross-platform development library +designed to provide low level access to audio, keyboard, mouse, joystick, and +graphics hardware. This package is a compatibility layer; it provides a binary and +source compatible API for programs written against SDL 1.2, but it uses SDL 2.0 +behind the scenes.") + (home-page "https://libsdl.org/") + ;; dr_mp3 code are under public domain. + (license (list license:zlib license:public-domain)))) + +(define-public sdl sdl12-compat) (define-public sdl2-2.0 (package @@ -423,7 +444,7 @@ (define* (sdl-union #:optional (packages (list sdl sdl-gfx sdl-net sdl-ttf If PACKAGES are not specified, all SDL packages are used." (package (name "sdl-union") - (version (package-version sdl)) + (version "1.2.15") ;TODO: use correct SDL version (source #f) (build-system trivial-build-system) (arguments @@ -452,6 +473,8 @@ (define (propagated-inputs-with-sdl2 package) (map (match-lambda (("sdl" _) `("sdl2" ,sdl2)) + (("sdl12-compat" _) + `("sdl2" ,sdl2)) (other other)) (package-propagated-inputs package))) base-commit: de3f86443837b7bd6e3bad11dbaeed2550d4207c -- 2.41.0
iyzsong@HIDDEN
:guix-patches@HIDDEN
.
Full text available.guix-patches@HIDDEN
:bug#69638
; Package guix-patches
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.