Compare commits

...

13 Commits

Author SHA1 Message Date
Pierre Neidhardt
5b4cef5b17 gnu: Add dxvk@1.7.
* nongnu/packages/wine.scm (dxvk-1.7): New variable.
2020-06-15 12:45:03 +02:00
Pierre Neidhardt
2d96280fa5 DRAFT: Add protobuf-net. 2020-02-28 15:02:34 +01:00
Pierre Neidhardt
69828b3a45 DRAFT: Add Arch Linux patch. 2020-02-28 15:02:21 +01:00
Pierre Neidhardt
d2fef7eaf6 DRAFT: Remove drafts of 2020.01.10 version. 2020-02-28 14:28:46 +01:00
Pierre Neidhardt
81940413ed DRAFT: Export MSBuildExtensionsPath in msbuild wrapper. 2020-02-28 14:28:29 +01:00
Pierre Neidhardt
8bcc128b4e DRAFT: msbuild builds. 2020-02-28 11:07:23 +01:00
Pierre Neidhardt
b42445575e DRAFT: Include all mono deps for msbuild.
* nongnu/packages/mono.scm (msbuild): Include all mono deps.
2020-02-27 18:06:28 +01:00
Pierre Neidhardt
6a6128caae DRAFT: Add msbuild.
* nongnu/packages/mono.scm (msbuild): New variable.
2020-02-27 17:13:57 +01:00
Pierre Neidhardt
a769a4c847 nongnu: Add mono-5.
* nongnu/packages/mono.scm (mono-5): New variable.
2020-02-27 17:13:09 +01:00
Pierre Neidhardt
5994f955ee nongnu: Add nuget.
* nongnu/packages/mono.scm (nuget): New variable.
2020-02-27 16:40:57 +01:00
Pierre Neidhardt
6bbf732654 gnu: Add dotnet-sdk.
* nongnu/packages/mono.scm (dotnet-sdk): New variable.
2020-02-27 14:28:53 +01:00
Pierre Neidhardt
d1f687b10c nonguix: Add support for $ORIGIN in RPATH.
* nonguix/build-system/binary.scm (patchelf): Do it.
2020-02-27 14:28:52 +01:00
Pierre Neidhardt
0dd7fd2692 gnu: Add mono-6.
* nongnu/packages/mono.scm (mono-6): New variable.
2020-02-27 12:09:12 +01:00
6 changed files with 1647 additions and 1 deletions

View File

@ -0,0 +1,90 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;;
;;; This file is not part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (nongnu packages mono-xyz)
#:use-module (srfi srfi-1)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (nongnu packages mono)
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu))
(define* (nuget-fetch #:key name version url sha256)
(list (string-append name "-" version)
(origin
(method url-fetch)
(uri url)
(file-name (string-append name "-" version))
(sha256
(base32 sha256)))))
(define protobuf-net-inputs
`(,(nuget-fetch
#:name "microsoft.build.traversal"
#:version "2.0.19"
#:url "https://www.nuget.org/api/v2/package/Microsoft.Build.Traversal/2.0.19"
#:sha256 "15nz923bqr2xw9g8nxsghdzyj31j7p9m5w9fww46bb7hxyvjqffx")))
(define-public protobuf-net
(let ((commit "706684b8b56dc54f9a03b1d44a4f85a750911243"))
(package
(name "protobuf-net")
(version (git-version "2.4.5" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/protobuf-net/protobuf-net")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
;; "1i4d4h7yxiga9r7j8j2vmjz8zg2lz8w9caza6knykr5izq56z949"
"13mg798hgjcj7rbaa99y9wy6mg8s8r2dvmd86ydg7igkahw1nag7"))))
(build-system gnu-build-system)
(native-inputs
`(("nuget" ,nuget)))
(inputs
`(("msbuild" ,msbuild)
,@protobuf-net-inputs))
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
(let ((msbuild (string-append (assoc-ref inputs "msbuild") "/bin/msbuild"))
(nuget (string-append (assoc-ref inputs "nuget") "/bin/nuget")))
;; Set up nuget packages.
(setenv "HOME" (string-append (getcwd) "/fake-home"))
(for-each
(lambda (mono-dep)
(invoke nuget "add" (assoc-ref inputs mono-dep) "-Source" "guix"))
',(map car protobuf-net-inputs))
(invoke nuget "sources" "Disable" "-Name" "nuget.org")
(invoke nuget "sources" "Add" "-Name" "guix" "-Source" (string-append (getcwd) "/guix"))
;; Build
(invoke msbuild "Build.csproj")))))))
(supported-systems '("x86_64-linux"))
(home-page "https://github.com/protobuf-net/protobuf-net")
(synopsis "")
(description "This package provides a generic driver for the .NET Core
command line interface.")
(license (list license:bsd-2 license:asl2.0)))))

1412
nongnu/packages/mono.scm Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,15 @@
--- mono-4.4.1/external/api-doc-tools/monodoc/Monodoc/storage/ZipStorage.cs.orig 2018-11-26 22:16:25.008879747 +0100
+++ mono-4.4.1/external/api-doc-tools/monodoc/Monodoc/storage/ZipStorage.cs 2018-11-26 22:21:53.969770985 +0100
@@ -74,6 +74,12 @@
id = GetNewCode ();
ZipEntry entry = new ZipEntry (id);
+ var SOURCE_DATE_EPOCH_string = Environment.GetEnvironmentVariable("SOURCE_DATE_EPOCH");
+ if (SOURCE_DATE_EPOCH_string != null)
+ {
+ var SOURCE_DATE_EPOCH = Convert.ToInt64(SOURCE_DATE_EPOCH_string);
+ entry.DateTime = new DateTime(SOURCE_DATE_EPOCH, DateTimeKind.Utc);
+ }
zipOutput.PutNextEntry (entry);
}

View File

@ -0,0 +1,65 @@
diff -Naur mono-4.0.1.old/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets mono-4.0.1/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets
--- mono-4.0.1.old/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets 2015-04-24 02:26:18.000000000 +0100
+++ mono-4.0.1/mcs/tools/xbuild/data/12.0/Microsoft.Common.targets 2015-05-26 00:52:33.997847464 +0100
@@ -229,8 +229,8 @@
$(ReferencePath);
@(AdditionalReferencePath);
{HintPathFromItem};
- {TargetFrameworkDirectory};
{PkgConfig};
+ {TargetFrameworkDirectory};
{GAC};
{RawFileName};
$(OutDir)
diff -Naur mono-4.0.1.old/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets mono-4.0.1/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets
--- mono-4.0.1.old/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets 2015-04-24 02:26:18.000000000 +0100
+++ mono-4.0.1/mcs/tools/xbuild/data/14.0/Microsoft.Common.targets 2015-05-26 00:52:41.832612748 +0100
@@ -214,8 +214,8 @@
$(ReferencePath);
@(AdditionalReferencePath);
{HintPathFromItem};
- {TargetFrameworkDirectory};
{PkgConfig};
+ {TargetFrameworkDirectory};
{GAC};
{RawFileName};
$(OutDir)
diff -Naur mono-4.0.1.old/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets mono-4.0.1/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets
--- mono-4.0.1.old/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets 2015-04-24 02:26:18.000000000 +0100
+++ mono-4.0.1/mcs/tools/xbuild/data/2.0/Microsoft.Common.targets 2015-05-26 00:52:46.298478961 +0100
@@ -139,8 +139,8 @@
$(ReferencePath);
@(AdditionalReferencePath);
{HintPathFromItem};
- {TargetFrameworkDirectory};
{PkgConfig};
+ {TargetFrameworkDirectory};
{GAC};
{RawFileName};
$(OutDir)
diff -Naur mono-4.0.1.old/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets mono-4.0.1/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets
--- mono-4.0.1.old/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets 2015-04-24 02:26:18.000000000 +0100
+++ mono-4.0.1/mcs/tools/xbuild/data/3.5/Microsoft.Common.targets 2015-05-26 00:52:52.119304583 +0100
@@ -167,8 +167,8 @@
$(ReferencePath);
@(AdditionalReferencePath);
{HintPathFromItem};
- {TargetFrameworkDirectory};
{PkgConfig};
+ {TargetFrameworkDirectory};
{GAC};
{RawFileName};
$(OutDir)
diff -Naur mono-4.0.1.old/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets mono-4.0.1/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets
--- mono-4.0.1.old/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets 2015-04-24 02:26:18.000000000 +0100
+++ mono-4.0.1/mcs/tools/xbuild/data/4.0/Microsoft.Common.targets 2015-05-26 00:52:56.519172776 +0100
@@ -229,8 +229,8 @@
$(ReferencePath);
@(AdditionalReferencePath);
{HintPathFromItem};
- {TargetFrameworkDirectory};
{PkgConfig};
+ {TargetFrameworkDirectory};
{GAC};
{RawFileName};
$(OutDir)

View File

@ -17,10 +17,12 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (nongnu packages wine) (define-module (nongnu packages wine)
#:use-module (ice-9 match)
#:use-module ((guix licenses) :prefix license:) #:use-module ((guix licenses) :prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (guix build-system copy)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (gnu packages base) #:use-module (gnu packages base)
@ -76,3 +78,61 @@ It has a menu of supported games/apps for which it can do all the workarounds
automatically. It also allows the installation of missing nonfree DLLs and automatically. It also allows the installation of missing nonfree DLLs and
tweaking of various Wine settings.") tweaking of various Wine settings.")
(license license:lgpl2.1))) (license license:lgpl2.1)))
(define-public dxvk-1.7 ; Upstream Guix dxvk does not build anymore because of missing mingw compiler.
(package
(name "dxvk")
(version "1.7")
(home-page "https://github.com/doitsujin/dxvk/")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/doitsujin/dxvk/releases/download/v"
version "/dxvk-" version ".tar.gz") )
(sha256
(base32
"18f7lj6b08abywidsq3s98kiwwn1jbbjzg7clm8bs93cj0wq5mv7"))))
(build-system copy-build-system)
(arguments
`(#:install-plan
`(,,@(if (string=? (or (%current-target-system) (%current-system))
"x86_64-linux")
''("x64" "share/dxvk/lib")
'())
("x32" ,,(if (string=? (or (%current-target-system) (%current-system))
"i686-linux")
"share/dxvk/lib"
"share/dxvk/lib32"))
("setup_dxvk.sh" "bin/setup_dxvk"))
#:phases
(modify-phases %standard-phases
(add-after 'install 'fix-setup
(lambda* (#:key inputs outputs system #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(libs "../share/dxvk")
(wine (assoc-ref inputs "wine")))
(substitute* (string-append out "/bin/setup_dxvk")
(("wine=\"wine\"")
(string-append "wine=" wine "/bin/wine"))
(("wine64=\"wine64\"")
(string-append "wine64=" wine "/bin/wine64"))
(("wineboot=\"wineboot\"")
(string-append "wineboot=" wine "/bin/wineboot"))
(("\"\\$wine_path/\\$wine\"")
"\"$wine_path/wine\"")
(("x32") (if (string=? system "x86_64-linux")
(string-append libs "/lib32")
(string-append libs "/lib")))
(("x64") (string-append libs "/lib")))))))))
(inputs
`(("wine" ,(match (or (%current-target-system)
(%current-system))
("x86_64-linux" wine64-staging)
(_ wine-staging)))))
(synopsis "Vulkan-based D3D9, D3D10 and D3D11 implementation for Wine")
(description "A Vulkan-based translation layer for Direct3D 9/10/11 which
allows running complex 3D applications with high performance using Wine.
Use @command{setup_dxvk} to install the required libraries to a Wine prefix.")
(supported-systems '("i686-linux" "x86_64-linux"))
(license license:zlib)))

View File

@ -73,10 +73,12 @@ represent the target full path, which only makes sense for single files."
(define* (patchelf #:key inputs outputs patchelf-plan #:allow-other-keys) (define* (patchelf #:key inputs outputs patchelf-plan #:allow-other-keys)
"Set the interpreter and the RPATH of files as per the PATCHELF-PLAN. "Set the interpreter and the RPATH of files as per the PATCHELF-PLAN.
The PATCHELF-PLAN elements are lists of: The PATCHELF-PLAN elements are lists of pairs:
- The file to patch. - The file to patch.
- The inputs (as strings) to include in the rpath, e.g. \"mesa\". - The inputs (as strings) to include in the rpath, e.g. \"mesa\".
It can also be an output, e.g. \"out\", or \"$ORIGIN\", which in RPATH
parlance means the library directory.
Both executables and dynamic libraries are accepted. Both executables and dynamic libraries are accepted.
The inputs are optional when the file is an executable." The inputs are optional when the file is an executable."
@ -90,6 +92,8 @@ The inputs are optional when the file is an executable."
(map (map
(lambda (input-or-output) (lambda (input-or-output)
(cond (cond
((string=? input-or-output "$ORIGIN")
"$ORIGIN")
((assoc-ref outputs input-or-output) ((assoc-ref outputs input-or-output)
(string-append (assoc-ref outputs input-or-output) "/lib")) (string-append (assoc-ref outputs input-or-output) "/lib"))
((assoc-ref inputs input-or-output) ((assoc-ref inputs input-or-output)