From fe507d7a3d83169c77b6f73a66ffa0ce59f1119d Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 11 Aug 2019 22:37:12 -0400 Subject: bootstrap: Build bootstrap bash deterministically. * gnu/packages/patches/bash-4.4-linux-pgrp-pipe.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/make-bootstrap.scm (static-bash-for-bootstrap): New variable. (%static-inputs): Use 'static-bash-for-bootstrap' instead of 'static-bash'. --- gnu/local.mk | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 16b63bc951..38a06e5620 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -697,6 +697,7 @@ dist_patch_DATA = \ %D%/packages/patches/avidemux-install-to-lib.patch \ %D%/packages/patches/awesome-reproducible-png.patch \ %D%/packages/patches/azr3.patch \ + %D%/packages/patches/bash-4.4-linux-pgrp-pipe.patch \ %D%/packages/patches/bash-completion-directories.patch \ %D%/packages/patches/bastet-change-source-of-unordered_set.patch \ %D%/packages/patches/bazaar-CVE-2017-14176.patch \ -- cgit v1.2.3 From 2cb81e1ebedc49a5af549d1bcd520add38d9062d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 24 Aug 2019 22:13:36 +0200 Subject: gnu: libextractor: Adapt to exiv2 0.27. This fixes a compilation error. * gnu/packages/patches/libextractor-exiv2.patch: New file. * gnu/packages/gnunet.scm (libextractor)[sources]: Use it. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/gnunet.scm | 3 +- gnu/packages/patches/libextractor-exiv2.patch | 124 ++++++++++++++++++++++++++ 3 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/libextractor-exiv2.patch (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index aab29beb0a..8b1b5ce6b4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1016,6 +1016,7 @@ dist_patch_DATA = \ %D%/packages/patches/libexif-CVE-2016-6328.patch \ %D%/packages/patches/libexif-CVE-2017-7544.patch \ %D%/packages/patches/libexif-CVE-2018-20030.patch \ + %D%/packages/patches/libextractor-exiv2.patch \ %D%/packages/patches/libgcrypt-make-yat2m-reproducible.patch \ %D%/packages/patches/libgit2-avoid-python.patch \ %D%/packages/patches/libgit2-mtime-0.patch \ diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 2653645c5d..2d82f47d99 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -75,7 +75,8 @@ version ".tar.gz")) (sha256 (base32 - "1zz2zvikvfibxnk1va3kgzs7djsmiqy7bmk8y01vbsf54ryjb3zh")))) + "1zz2zvikvfibxnk1va3kgzs7djsmiqy7bmk8y01vbsf54ryjb3zh")) + (patches (search-patches "libextractor-exiv2.patch")))) (build-system gnu-build-system) ;; WARNING: Checks require /dev/shm to be in the build chroot, especially ;; not to be a symbolic link to /run/shm. diff --git a/gnu/packages/patches/libextractor-exiv2.patch b/gnu/packages/patches/libextractor-exiv2.patch new file mode 100644 index 0000000000..b92fef3ca1 --- /dev/null +++ b/gnu/packages/patches/libextractor-exiv2.patch @@ -0,0 +1,124 @@ +This patch allows us to build libextractor against exiv2 0.27.x. +Adapted from this upstream commit: + + commit 1ecee9a47717e36cb8a3925d011d1a6de11d631c + Author: Christian Grothoff + Date: Mon Jul 29 17:58:18 2019 +0200 + + importing patch from Gentoo/AS to address exiv2 build issue (#5820) + +diff --git a/src/plugins/exiv2_extractor.cc b/src/plugins/exiv2_extractor.cc +index 8741d40..ef402a8 100644 +--- a/src/plugins/exiv2_extractor.cc ++++ b/src/plugins/exiv2_extractor.cc +@@ -27,10 +27,7 @@ + #include + #include + #include +-#include +-#include +-#include +-#include ++#include + + /** + * Enable debugging to get error messages. +@@ -180,7 +177,7 @@ public: + * + * @return -1 on error + */ +-#if EXIV2_VERSION >= EXIV2_MAKE_VERSION(0,26,0) ++#if EXIV2_TEST_VERSION(0,26,0) + virtual size_t size (void) const; + #else + virtual long int size (void) const; +@@ -316,7 +313,11 @@ ExtractorIO::getb () + const unsigned char *r; + + if (1 != ec->read (ec->cls, &data, 1)) ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + r = (const unsigned char *) data; + return *r; + } +@@ -371,7 +372,11 @@ ExtractorIO::putb (Exiv2::byte data) + void + ExtractorIO::transfer (Exiv2::BasicIo& src) + { ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + } + + +@@ -416,7 +421,11 @@ ExtractorIO::seek (long offset, + Exiv2::byte * + ExtractorIO::mmap (bool isWritable) + { ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + } + + +@@ -449,7 +458,7 @@ ExtractorIO::tell (void) const + * + * @return -1 on error + */ +-#if EXIV2_VERSION >= EXIV2_MAKE_VERSION(0,26,0) ++#if EXIV2_TEST_VERSION(0,26,0) + size_t + #else + long int +@@ -504,7 +513,11 @@ ExtractorIO::eof () const + std::string + ExtractorIO::path () const + { ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + } + + +@@ -517,7 +530,11 @@ ExtractorIO::path () const + std::wstring + ExtractorIO::wpath () const + { ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + } + #endif + +@@ -531,7 +548,11 @@ Exiv2::BasicIo::AutoPtr + ExtractorIO::temporary () const + { + fprintf (stderr, "throwing temporary error\n"); ++#if EXIV2_TEST_VERSION(0,27,0) ++ throw Exiv2::BasicError (Exiv2::kerDecodeLangAltQualifierFailed); ++#else + throw Exiv2::BasicError (42 /* error code */); ++#endif + } + + +@@ -697,7 +718,7 @@ EXTRACTOR_exiv2_extract_method (struct EXTRACTOR_ExtractContext *ec) + { + try + { +-#if EXIV2_MAKE_VERSION(0,23,0) <= EXIV2_VERSION ++#if !EXIV2_TEST_VERSION(0,24,0) + Exiv2::LogMsg::setLevel (Exiv2::LogMsg::mute); + #endif + std::auto_ptr eio(new ExtractorIO (ec)); -- cgit v1.2.3 From a5f0ebf669946a6f24db8048a708136b036f8d93 Mon Sep 17 00:00:00 2001 From: Jesse Gibbons Date: Sun, 25 Aug 2019 18:35:29 -0600 Subject: gnu: Add cvassistant. * gnu/package/cvassistant.scm: New file. * gnu/local.mk: Add it. * gnu/packages/cvassistant.scm (cvassistant): New variable. --- gnu/local.mk | 1 + gnu/packages/cvassistant.scm | 90 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 gnu/packages/cvassistant.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 8b1b5ce6b4..484cb7d45c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -128,6 +128,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/cryptsetup.scm \ %D%/packages/cups.scm \ %D%/packages/curl.scm \ + %D%/packages/cvassistant.scm \ %D%/packages/cyrus-sasl.scm \ %D%/packages/databases.scm \ %D%/packages/datamash.scm \ diff --git a/gnu/packages/cvassistant.scm b/gnu/packages/cvassistant.scm new file mode 100644 index 0000000000..f57806d734 --- /dev/null +++ b/gnu/packages/cvassistant.scm @@ -0,0 +1,90 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Nicolas Goaziou +;;; Copyright © 2019 Jesse Gibbons +;;; +;;; This file is 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 . + +(define-module (gnu packages cvassistant) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages qt) + #:use-module (gnu packages compression)) + +(define-public cvassistant + (package + (name "cvassistant") + (version "3.1.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/cvassistant/" + "cvassistant-" version "-src.tar.bz2")) + (sha256 + (base32 + "1y2680bazyiwm50gdhdd4982ckbjscrkbw2mngyk7yw708iadvr7")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-donation-banner + ;; Remove dialog box with a donation link, as suggested by + ;; the INSTALL file. + (lambda _ + (substitute* "controllers/mainwindow.cpp" + (("//(#define NO_DONATION_PROMPT)" _ line) line)) + #t)) + (add-after 'unpack 'fix-quazip-directory + (lambda _ + (substitute* "models/resumedocument.h" + (("quazip(/quazipfile\\.h)" _ suffix) + (string-append "quazip5" suffix))) + #t)) + (add-after 'fix-quazip-directory 'fix-quazip-link + (lambda _ + (substitute* "CVAssistant.pro" + (("lquazip-qt5") + "lquazip5")) + #t)) + (add-after 'fix-quazip-directory 'fix-install-root + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "CVAssistant.pro" + (("/usr/(bin|share/)" _ suffix) + (string-append out "/" suffix))) + #t))) + (replace 'configure + (lambda _ (invoke "qmake")))))) + (inputs + `(("qtbase" ,qtbase) + ("quazip" ,quazip) + ("zlib" ,zlib))) + (home-page "https://cvassistant.sourceforge.io/") + (synopsis "Job application organizer") + (description "Whether you're looking for a job or trying to help + a friend to find one, CVAssistant is a tool for you. It helps you by + preparing resumes and cover letters and organizing your job + application process. It: + @itemize + @item Stores all your skills and experiences. + @item Creates resumes tailored for each job you apply. + @item Creates cover letters summarized to match each job + advertisement. + @item Keeps a history of job applications so you are ready when you + receive a phone call. + @item Writes resumes in your language. All languages are supported! + @end itemize") + (license license:gpl3+))) -- cgit v1.2.3 From 07d7175406210434d1fb9c100dc33a7d095f1627 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Tue, 30 Jul 2019 11:05:21 -0400 Subject: gnu: mingw-w64: Update to 6.0.0. * gnu/packages/mingw.scm (mingw-w64): Update to 6.0.0. * gnu/packages/patches/mingw-w64-6.0.0-gcc.patch: New file. * gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch: Delete it. * gnu/local.mk (dist_patch_DATA): Add new patch. Delete old patch. * gnu/build/cross-toolchain.scm (set-cross-path/mingw): Add additional autoconf-like substitutions. --- gnu/build/cross-toolchain.scm | 6 +- gnu/local.mk | 2 +- gnu/packages/mingw.scm | 6 +- .../patches/mingw-w64-5.0rc2-gcc-4.9.3.patch | 218 --------------------- gnu/packages/patches/mingw-w64-6.0.0-gcc.patch | 65 ++++++ 5 files changed, 74 insertions(+), 223 deletions(-) delete mode 100644 gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch create mode 100644 gnu/packages/patches/mingw-w64-6.0.0-gcc.patch (limited to 'gnu/local.mk') diff --git a/gnu/build/cross-toolchain.scm b/gnu/build/cross-toolchain.scm index 201b36ff7c..7ab0a355b0 100644 --- a/gnu/build/cross-toolchain.scm +++ b/gnu/build/cross-toolchain.scm @@ -130,7 +130,11 @@ C_*INCLUDE_PATH." (substitute* (string-append mingw-headers "/crt/_mingw.h") (("@MINGW_HAS_SECURE_API@") - "#define MINGW_HAS_SECURE_API 1")) + "#define MINGW_HAS_SECURE_API 1") + (("@DEFAULT_WIN32_WINNT@") + "0x502") + (("@DEFAULT_MSVCRT_VERSION@") + "0x700")) (let ((cpath (string-append mingw-headers "/include" ":" mingw-headers "/crt" diff --git a/gnu/local.mk b/gnu/local.mk index a756316f77..d539c3c85b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1098,7 +1098,7 @@ dist_patch_DATA = \ %D%/packages/patches/meson-for-build-rpath.patch \ %D%/packages/patches/metabat-fix-compilation.patch \ %D%/packages/patches/mhash-keygen-test-segfault.patch \ - %D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \ + %D%/packages/patches/mingw-w64-6.0.0-gcc.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ %D%/packages/patches/monero-use-system-miniupnpc.patch \ diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm index 017f9453ab..fe51780fa3 100644 --- a/gnu/packages/mingw.scm +++ b/gnu/packages/mingw.scm @@ -36,15 +36,15 @@ (let ((triplet (string-append machine "-" "w64-mingw32"))) (package (name (string-append "mingw-w64" "-" machine)) - (version "5.0.4") + (version "6.0.0") (source (origin (method url-fetch) (uri (string-append "https://sourceforge.net/projects/mingw-w64/files/mingw-w64/" "mingw-w64-release/mingw-w64-v" version ".tar.bz2")) (sha256 - (base32 "00zq3z1hbzd5yzmskskjg79xrzwsqx7ihyprfaxy4hb897vf29sm")) - (patches (search-patches "mingw-w64-5.0rc2-gcc-4.9.3.patch")))) + (base32 "1w28mynv500y03h92nh87rgw3fnp82qwnjbxrrzqkmr63q812pl0")) + (patches (search-patches "mingw-w64-6.0.0-gcc.patch")))) (native-inputs `(("xgcc-core" ,(cross-gcc triplet)) ("xbinutils" ,(cross-binutils triplet)))) (build-system gnu-build-system) diff --git a/gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch b/gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch deleted file mode 100644 index e8f841c4fd..0000000000 --- a/gnu/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch +++ /dev/null @@ -1,218 +0,0 @@ -This patch includes - - * mingw-w64-headers/include/winnt.h: compile fixes for1 gcc-4.9.3 - * mingw-w64-headers/crt/math.h: Likewise - * mingw-w64-headers/crt/float.h (FLT_EPSILON,DBL_EPSILON,LDBL_EPSILON): Add - symbols. - * mingw-w64-headers/crt/stat.h (S_ISLNK,S_ISSOCK,S_ISUID,S_ISGID,S_ISLINK): - Add symbols. - (lstat): Add function. - * mingw-w64-headers/crt/_mingw_stat64.h: Likewise - * mingw-w64-headers/crt/stdlib.h (realpath): Add function. - -Needed for building with gcc-4.9.3 and using with cross-libtool-2.4.6. - -Upstream status: not yet presented upstream. - -index 9c5cf87..74a8541 100644 ---- a/mingw-w64-crt/misc/dirname.c -+++ b/mingw-w64-crt/misc/dirname.c -@@ -29,6 +29,12 @@ - #define __cdecl /* this may not be defined. */ - #endif - -+char *__cdecl -+realpath(const char *name, char *resolved) -+{ -+ return resolved ? strcpy (resolved, name) : strdup (name); -+} -+ - char * __cdecl - dirname(char *path) - { -diff --git a/mingw-w64-headers/crt/_mingw_stat64.h b/mingw-w64-headers/crt/_mingw_stat64.h -index 17e754c..7d2339b 100644 ---- a/mingw-w64-headers/crt/_mingw_stat64.h -+++ b/mingw-w64-headers/crt/_mingw_stat64.h -@@ -2,13 +2,17 @@ - - #ifdef _USE_32BIT_TIME_T - #define _fstat32 _fstat -+#define _lstat32 _lstat - #define _stat32 _stat - #define _wstat32 _wstat - #define _fstat32i64 _fstati64 -+#define _lstat32i64 _lstati64 - #define _stat32i64 _stati64 - #define _wstat32i64 _wstati64 - #else - #define _fstat _fstat64i32 -+#define _lstat _lstat64i32 -+#define _lstati64 _lstat64 - #define _fstati64 _fstat64 - #define _stat _stat64i32 - #define _stati64 _stat64 -diff --git a/mingw-w64-headers/crt/float.h b/mingw-w64-headers/crt/float.h -index 5874f4e..bdf4ead 100644 ---- a/mingw-w64-headers/crt/float.h -+++ b/mingw-w64-headers/crt/float.h -@@ -22,6 +22,15 @@ - #if (__GNUC__ < 4) - #error Corrupt install of gcc-s internal headers, or search order was changed. - #else -+ -+ /* From gcc-4.9.3 float.h. */ -+ #undef FLT_EPSILON -+ #undef DBL_EPSILON -+ #undef LDBL_EPSILON -+ #define FLT_EPSILON __FLT_EPSILON__ -+ #define DBL_EPSILON __DBL_EPSILON__ -+ #define LDBL_EPSILON __LDBL_EPSILON__ -+ - /* #include_next */ - - /* Number of decimal digits, q, such that any floating-point number with q -diff --git a/mingw-w64-headers/crt/math.h b/mingw-w64-headers/crt/math.h -index 1e970f4..99a332f 100644 ---- a/mingw-w64-headers/crt/math.h -+++ b/mingw-w64-headers/crt/math.h -@@ -216,6 +216,7 @@ extern "C" { - #endif - } - -+#if 0 - __CRT_INLINE long double __cdecl fabsl (long double x) - { - #ifdef __arm__ -@@ -226,6 +227,7 @@ extern "C" { - return res; - #endif - } -+#endif - - __CRT_INLINE double __cdecl fabs (double x) - { -@@ -905,7 +907,7 @@ __mingw_choose_expr ( \ - /* 7.12.7.3 */ - extern double __cdecl hypot (double, double) __MINGW_ATTRIB_DEPRECATED_MSVC2005; /* in libmoldname.a */ - extern float __cdecl hypotf (float x, float y); --#ifndef __CRT__NO_INLINE -+#if 0 //ndef __CRT__NO_INLINE - __CRT_INLINE float __cdecl hypotf (float x, float y) { return (float) hypot ((double)x, (double)y);} - #endif - extern long double __cdecl hypotl (long double, long double); -diff --git a/mingw-w64-headers/crt/stdlib.h b/mingw-w64-headers/crt/stdlib.h -index dfc5ae4..6f0fee3 100644 ---- a/mingw-w64-headers/crt/stdlib.h -+++ b/mingw-w64-headers/crt/stdlib.h -@@ -8,6 +8,7 @@ - - #include - #include -+#include - - #if defined (__USE_MINGW_ANSI_STDIO) && ((__USE_MINGW_ANSI_STDIO + 0) != 0) && !defined (__USE_MINGW_STRTOX) - #define __USE_MINGW_STRTOX 1 -@@ -676,6 +677,8 @@ unsigned long __cdecl _lrotr(unsigned long,int); - - #endif /* !__NO_ISOCEXT */ - -+char *__cdecl realpath (const char *name, char *resolved); -+ - #ifdef __cplusplus - } - #endif -diff --git a/mingw-w64-headers/crt/sys/stat.h b/mingw-w64-headers/crt/sys/stat.h -index ed60219..d88b4f1 100644 ---- a/mingw-w64-headers/crt/sys/stat.h -+++ b/mingw-w64-headers/crt/sys/stat.h -@@ -58,16 +58,21 @@ extern "C" { - #include <_mingw_stat64.h> - - #define _S_IFMT 0xF000 -+#define _S_IFLNK 0xA000 -+#define _S_IFSOCK 0xC000 - #define _S_IFDIR 0x4000 - #define _S_IFCHR 0x2000 - #define _S_IFIFO 0x1000 - #define _S_IFREG 0x8000 -+#define _S_ISUID 0x0400 -+#define _S_ISGID 0x0200 - #define _S_IREAD 0x0100 - #define _S_IWRITE 0x0080 - #define _S_IEXEC 0x0040 - - _CRTIMP int __cdecl _fstat32(int _FileDes,struct _stat32 *_Stat); - _CRTIMP int __cdecl _stat32(const char *_Name,struct _stat32 *_Stat); -+ static inline int __cdecl _lstat32(const char *_Name,struct _stat32 *_Stat) {return _stat32(_Name, _Stat);} - _CRTIMP int __cdecl _fstat64(int _FileDes,struct _stat64 *_Stat); - _CRTIMP int __cdecl _fstat32i64(int _FileDes,struct _stat32i64 *_Stat); - int __cdecl _fstat64i32(int _FileDes,struct _stat64i32 *_Stat); -@@ -97,6 +102,9 @@ extern "C" { - _CRTIMP int __cdecl _stat64(const char *_Name,struct _stat64 *_Stat); - _CRTIMP int __cdecl _stat32i64(const char *_Name,struct _stat32i64 *_Stat); - int __cdecl _stat64i32(const char *_Name,struct _stat64i32 *_Stat); -+ static inline int __cdecl _lstat64(const char *_Name,struct _stat64 *_Stat) {return _stat64(_Name, _Stat);} -+ static inline int __cdecl _lstat32i64(const char *_Name,struct _stat32i64 *_Stat) {return _stat32i64(_Name, _Stat);} -+ static inline int __cdecl _lstat64i32(const char *_Name,struct _stat64i32 *_Stat) {return _stat64i32(_Name, _Stat);} - #ifndef __CRT__NO_INLINE - __CRT_INLINE int __cdecl _stat64i32(const char *_Name,struct _stat64i32 *_Stat) - { -@@ -132,6 +140,8 @@ extern "C" { - #ifndef NO_OLDNAMES - #define _S_IFBLK 0x3000 /* Block: Is this ever set under w32? */ - -+#define S_IFLNK _S_IFLNK -+#define S_IFSOCK _S_IFSOCK - #define S_IFMT _S_IFMT - #define S_IFDIR _S_IFDIR - #define S_IFCHR _S_IFCHR -@@ -162,6 +172,11 @@ extern "C" { - #define S_IXOTH (S_IXGRP >> 3) - #define S_IRWXO (S_IRWXG >> 3) - -+#define S_ISUID _S_ISUID -+#define S_ISGID _S_ISGID -+ -+#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) -+#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) - #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) - #define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) - #define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) -@@ -174,6 +189,7 @@ extern "C" { - int __cdecl stat(const char *_Filename,struct stat *_Stat); - int __cdecl fstat(int _Desc,struct stat *_Stat); - int __cdecl wstat(const wchar_t *_Filename,struct stat *_Stat); -+static inline int __cdecl lstat(const char *_Filename,struct stat *_Stat){return stat(_Filename, _Stat);} - - #ifndef __CRT__NO_INLINE - #ifdef _USE_32BIT_TIME_T -@@ -262,9 +278,11 @@ __CRT_INLINE int __cdecl - - #if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64) - #ifdef _USE_32BIT_TIME_T -+#define lstat _lstat32i64 - #define stat _stat32i64 - #define fstat _fstat32i64 - #else -+#define lstat _lstat64 - #define stat _stat64 - #define fstat _fstat64 - #endif -diff --git a/mingw-w64-headers/include/winnt.h b/mingw-w64-headers/include/winnt.h -index 52af29b..8626396 100644 ---- a/mingw-w64-headers/include/winnt.h -+++ b/mingw-w64-headers/include/winnt.h -@@ -6895,7 +6895,12 @@ __buildmemorybarrier() - DWORD Reg : 3; - DWORD R : 1; - DWORD L : 1; -+/* C is used as a const specifier */ -+#define save_C C -+#undef C - DWORD C : 1; -+#define C save_C -+#undef save_C - DWORD StackAdjust : 10; - } DUMMYSTRUCTNAME; - } DUMMYUNIONNAME; diff --git a/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch b/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch new file mode 100644 index 0000000000..036cf79f91 --- /dev/null +++ b/gnu/packages/patches/mingw-w64-6.0.0-gcc.patch @@ -0,0 +1,65 @@ +This patch includes + + * mingw-w64-headers/include/winnt.h: compile fixes for1 gcc-4.9.3 + * mingw-w64-headers/crt/math.h: Likewise + * mingw-w64-headers/crt/float.h (FLT_EPSILON,DBL_EPSILON,LDBL_EPSILON): Add + symbols. + * mingw-w64-headers/crt/stat.h (S_ISLNK,S_ISSOCK,S_ISUID,S_ISGID,S_ISLINK): + Add symbols. + (lstat): Add function. + * mingw-w64-headers/crt/_mingw_stat64.h: Likewise + * mingw-w64-headers/crt/stdlib.h (realpath): Add function. + +Needed for building with gcc-4.9.3 and using with cross-libtool-2.4.6. + +Upstream status: not yet presented upstream. + +diff --git a/mingw-w64-headers/crt/float.h b/mingw-w64-headers/crt/float.h +index 5874f4e..bdf4ead 100644 +--- a/mingw-w64-headers/crt/float.h ++++ b/mingw-w64-headers/crt/float.h +@@ -22,6 +22,15 @@ + #if (__GNUC__ < 4) + #error Corrupt install of gcc-s internal headers, or search order was changed. + #else ++ ++ /* From gcc-4.9.3 float.h. */ ++ #undef FLT_EPSILON ++ #undef DBL_EPSILON ++ #undef LDBL_EPSILON ++ #define FLT_EPSILON __FLT_EPSILON__ ++ #define DBL_EPSILON __DBL_EPSILON__ ++ #define LDBL_EPSILON __LDBL_EPSILON__ ++ + /* #include_next */ + + /* Number of decimal digits, q, such that any floating-point number with q +diff --git a/mingw-w64-headers/crt/math.h b/mingw-w64-headers/crt/math.h +index 1e970f4..99a332f 100644 +--- a/mingw-w64-headers/crt/math.h ++++ b/mingw-w64-headers/crt/math.h +@@ -216,6 +216,7 @@ extern "C" { + #endif + } + ++#if 0 + __CRT_INLINE long double __cdecl fabsl (long double x) + { + #ifdef __arm__ +@@ -226,6 +227,7 @@ extern "C" { + return res; + #endif + } ++#endif + + __CRT_INLINE double __cdecl fabs (double x) + { +@@ -905,7 +907,7 @@ __mingw_choose_expr ( \ + /* 7.12.7.3 */ + extern double __cdecl hypot (double, double) __MINGW_ATTRIB_DEPRECATED_MSVC2005; /* in libmoldname.a */ + extern float __cdecl hypotf (float x, float y); +-#ifndef __CRT__NO_INLINE ++#if 0 //ndef __CRT__NO_INLINE + __CRT_INLINE float __cdecl hypotf (float x, float y) { return (float) hypot ((double)x, (double)y);} + #endif + extern long double __cdecl hypotl (long double, long double); -- cgit v1.2.3 From 5416d9a942468d70441515a9a6492be7625fd75c Mon Sep 17 00:00:00 2001 From: John Soo Date: Mon, 12 Aug 2019 08:43:07 -0700 Subject: gnu: Add cedille. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/cedille.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 2 + gnu/packages/cedille.scm | 124 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 gnu/packages/cedille.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index d539c3c85b..797936d2fd 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -21,6 +21,7 @@ # Copyright © 2018 Stefan Stefanović # Copyright © 2018 Maxim Cournoyer # Copyright © 2019 Guillaume Le Vaillant +# Copyright © 2019 John Soo # # This file is part of GNU Guix. # @@ -99,6 +100,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/calcurse.scm \ %D%/packages/ccache.scm \ %D%/packages/cdrom.scm \ + %D%/packages/cedille.scm \ %D%/packages/certs.scm \ %D%/packages/check.scm \ %D%/packages/chemistry.scm \ diff --git a/gnu/packages/cedille.scm b/gnu/packages/cedille.scm new file mode 100644 index 0000000000..36fa3ae17e --- /dev/null +++ b/gnu/packages/cedille.scm @@ -0,0 +1,124 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 John Soo +;;; +;;; This file is 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 . + +(define-module (gnu packages cedille) + #:use-module (gnu packages) + #:use-module (gnu packages agda) + #:use-module (gnu packages emacs-xyz) + #:use-module (gnu packages haskell) + #:use-module (guix build-system emacs) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public cedille + (package + (name "cedille") + (version "1.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cedille/cedille") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07kv9wncyipfjf5w4ax8h2p35g70zb1qw6zc4afd7c225xia55wp")))) + (inputs + `(("agda" ,agda) + ("agda-ial" ,agda-ial) + ("ghc" ,ghc-8.4) + ("ghc-alex" ,ghc-alex) + ("ghc-happy" ,ghc-happy))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-cedille-path-el + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "cedille-mode.el" + (("/usr/share/emacs/site-lisp/cedille-mode") + (string-append + out "/share/emacs/site-lisp/guix.d/cedille-" + ,version))) + #t))) + (add-after 'unpack 'copy-cedille-mode + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lisp + (string-append + out "/share/emacs/site-lisp/guix.d/cedille-" + ,version "/"))) + (mkdir-p (string-append lisp "cedille-mode")) + (copy-recursively + "cedille-mode" + (string-append lisp "cedille-mode")) + (mkdir-p (string-append lisp "se-mode")) + (copy-recursively + "se-mode" + (string-append lisp "se-mode")) + #t))) + ;; FIXME: Byte compilation fails + (delete 'build) + (replace 'check + (lambda _ + (with-directory-excursion "cedille-tests" + (invoke "sh" "run-tests.sh")))) + (add-after 'unpack 'patch-libraries + (lambda _ (patch-shebang "create-libraries.sh") #t)) + (add-after 'unpack 'copy-ial + (lambda* (#:key inputs #:allow-other-keys) + (copy-recursively + (string-append (assoc-ref inputs "agda-ial") + "/include/agda/ial") + "ial") + ;; Ambiguous module if main is included from ial + (delete-file "ial/main.agda") + #t)) + (add-after 'check 'build-cedille + ;; Agda has a hard time with parallel compilation + (lambda _ + (invoke "touch" "src/Templates.hs") + (make-file-writable "src/Templates.hs") + (invoke "touch" "src/templates.agda") + (make-file-writable "src/templates.agda") + (invoke "make" "--jobs=1"))) + (add-after 'install 'install-cedille + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (copy-recursively + "lib" (string-append out "/lib/cedille")) + (install-file "cedille" (string-append out "/bin")) + (install-file "core/cedille-core" + (string-append out "/bin")) + #t)))))) + (home-page "https://cedille.github.io/") + (synopsis + "Language based on Calculus of Dependent Lambda Eliminations") + (description + "Cedille is an interactive theorem-prover and dependently typed +programming language, based on extrinsic (aka Curry-style) type theory. This +makes it rather different from type theories like Coq and Agda, which are +intrinsic (aka Church-style). In Cedille, terms are nothing more than +annotated versions of terms of pure untyped lambda calculus. In contrast, in +Coq or Agda, the typing annotations are intrinsic parts of terms. The typing +annotations can only be erased as an optimization under certain conditions, +not by virtue of the definition of the type theory.") + (license license:expat))) -- cgit v1.2.3 From b0985c60a0a9163ff715ef05c547e3e4e7a873da Mon Sep 17 00:00:00 2001 From: Jesse Gibbons Date: Thu, 29 Aug 2019 19:13:41 +0200 Subject: gnu: Add rednotebook. * gnu/package/rednotebook.scm: New file. * gnu/local.mk: Add it. * gnu/packages/rednotebook.scm (rednotebook): New variable. Signed-off-by: Nicolas Goaziou --- gnu/local.mk | 1 + gnu/packages/rednotebook.scm | 91 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 gnu/packages/rednotebook.scm (limited to 'gnu/local.mk') diff --git a/gnu/local.mk b/gnu/local.mk index 797936d2fd..2c02b8510a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -413,6 +413,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/rdf.scm \ %D%/packages/re2c.scm \ %D%/packages/readline.scm \ + %D%/packages/rednotebook.scm \ %D%/packages/regex.scm \ %D%/packages/robotics.scm \ %D%/packages/rrdtool.scm \ diff --git a/gnu/packages/rednotebook.scm b/gnu/packages/rednotebook.scm new file mode 100644 index 0000000000..e5b1b2c7bf --- /dev/null +++ b/gnu/packages/rednotebook.scm @@ -0,0 +1,91 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Jesse Gibbons +;;; +;;; This file is 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 . + +(define-module (gnu packages rednotebook) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system python) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages python) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages webkit) + #:use-module (gnu packages python-xyz)) + +(define-public rednotebook + (package + (name "rednotebook") + (version "2.11.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jendrikseipp/rednotebook.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04c7a0wgmdl88v9386y1052c38ajbkryiwhqps5lx34d4g7r6hm1")))) + (build-system python-build-system) + (arguments + ;; Tests fail to find the "_" function. + ;; It should be defined in rednotebook/info.py if '_' is not a member of + ;; 'builtins'. It is either not defined or not exported during the check + ;; phase. The program does not have this problem after it is installed. + ;; TODO: Fix tests. + `(#:tests? #f + #:imported-modules ((guix build glib-or-gtk-build-system) + ,@%python-build-system-modules) + #:modules ((ice-9 match) + (guix build python-build-system) + ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + (guix build utils)) + #:phases + (modify-phases %standard-phases + ;; Make sure rednotebook can find the typelibs and webkitgtk shared + ;; libraries. + (add-before 'wrap 'wrap-with-library-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gi-typelib-path (getenv "GI_TYPELIB_PATH")) + (webkitgtk-path (string-append + (assoc-ref inputs "webkitgtk") + "/lib"))) + (wrap-program (string-append out "/bin/rednotebook") + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) + `("LD_LIBRARY_PATH" ":" prefix (,webkitgtk-path))) + #t)))))) + (inputs + `(("gtk+" ,gtk+) + ("gtksourceview" ,gtksourceview-3) + ("python-pyyaml" ,python-pyyaml) + ("python-pygobject" ,python-pygobject) + ("webkitgtk" ,webkitgtk))) + ;; TODO: package the following for python3 (if possible), add them as + ;; dependencies, and remove them from rednotebook source: + ;; pygtkspellcheck, elib.intl, msgfmt, txt2tags + ;; TODO: package and add pyenchant for python3 and add it as a dependency. + (home-page "https://www.rednotebook.app") + (synopsis "Daily journal with calendar, templates and keyword searching") + (description + "RedNotebook is a modern desktop journal. It lets you format, tag and +search your entries. You can also add pictures, links and customizable +templates, spell check your notes, and export to plain text, HTML, Latex or +PDF.") + (license (list license:gpl2+ ; rednotebook, txt2tags + license:lgpl3+ ; elib.intl + license:gpl3+)))) ; pygtkspellcheck -- cgit v1.2.3