summaryrefslogtreecommitdiff
path: root/nongnu/packages/gog.scm
diff options
context:
space:
mode:
authorAlex Griffin <a@ajgrf.com>2019-05-26 13:54:01 -0500
committerAlex Griffin <a@ajgrf.com>2019-05-26 13:57:16 -0500
commit2934033f67b78ea264ce90c20ee8ff02961261cd (patch)
tree78504ab5e630ab58499c2f6195d794e617125925 /nongnu/packages/gog.scm
parent10dfcea2c7f3da5f78596cd843e817e03f70e62c (diff)
Rename nonfree path to nongnu.
* nonfree/packages/linux.scm: Move to... * nongnu/packages/linux.scm: ... here. * nonfree/packages/gog.scm: Move to... * nongnu/packages/gog.scm: ... here.
Diffstat (limited to 'nongnu/packages/gog.scm')
-rw-r--r--nongnu/packages/gog.scm99
1 files changed, 99 insertions, 0 deletions
diff --git a/nongnu/packages/gog.scm b/nongnu/packages/gog.scm
new file mode 100644
index 0000000..6087f36
--- /dev/null
+++ b/nongnu/packages/gog.scm
@@ -0,0 +1,99 @@
+;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
+;;;
+;;; This program 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.
+;;;
+;;; This program 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 this program. If not, see <https://www.gnu.org/licenses/>.
+
+(define-module (nongnu packages gog)
+ #:use-module (gnu packages boost)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages crypto)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages serialization)
+ #:use-module (gnu packages web)
+ #:use-module (gnu packages xml)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system cmake)
+ #:use-module (guix build-system gnu)
+ #:use-module ((guix licenses) #:prefix license:))
+
+(define-public lgogdownloader
+ (package
+ (name "lgogdownloader")
+ (version "3.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Sude-/lgogdownloader.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0a3rrkgqwdqxx3ghzw182jx88gzzw6ldp3jasmgnr4l7gpxkmwws"))))
+ (build-system cmake-build-system)
+ (arguments '(#:tests? #f)) ; no tests
+ (inputs
+ `(("boost" ,boost)
+ ("curl" ,curl)
+ ("htmlcxx" ,htmlcxx)
+ ("jsoncpp" ,jsoncpp)
+ ("liboauth" ,liboauth)
+ ("rhash" ,rhash)
+ ("tinyxml2" ,tinyxml2)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://sites.google.com/site/gogdownloader/")
+ (synopsis "Downloader for GOG.com files")
+ (description "LGOGDownloader is a client for the GOG.com download API,
+allowing simple downloads and updates of games and other files from GOG.com.")
+ (license license:wtfpl2)))
+
+(define-public htmlcxx
+ (package
+ (name "htmlcxx")
+ (version "0.87")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "mirror://sourceforge/htmlcxx/v"
+ version "/htmlcxx-" version ".tar.gz"))
+ (sha256
+ (base32 "1j3mzjlczjrk4ahc43s6kzpvzypzjmqz4sillnca5yadrwwgjf2x"))))
+ (build-system gnu-build-system)
+ (home-page "http://htmlcxx.sourceforge.net/")
+ (synopsis "Simple non-validating CSS1 and HTML parser for C++")
+ (description "htmlcxx is a simple non-validating CSS1 and HTML parser for
+C++. Although there are several other HTML parsers available, htmlcxx has some
+characteristics that make it unique:
+@itemize
+@item STL like navigation of DOM tree, using excelent's tree.hh library from
+Kasper Peeters
+@item It is possible to reproduce exactly, character by character, the original
+document from the parse tree
+@item Bundled CSS parser
+@item Optional parsing of attributes
+@item C++ code that looks like C++ (not so true anymore)
+@item Offsets of tags/elements in the original document are stored in the nodes
+of the DOM tree
+@end itemize
+The parsing politics of htmlcxx were created trying to mimic Mozilla Firefox
+(https://www.mozilla.org) behavior. So you should expect parse trees similar
+to those create by Firefox. However, differently from Firefox, htmlcxx does
+not insert non-existent stuff in your html. Therefore, serializing the DOM
+tree gives exactly the same bytes contained in the original HTML document.")
+ (license (list license:lgpl2.0
+ license:asl2.0))))