View Issue Details

IDProjectCategoryView StatusLast Update
0014716ScribusBuild Systempublic2017-08-14 16:58
Reporteralexander-wilms Assigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status newResolutionopen 
OSLinux 
Summary0014716: Pull request: Adding a Flatpak manifest
DescriptionPR: https://github.com/scribusproject/scribus/pull/87

This adds a manifest for creating a cross-distro Flatpak package (http://flatpak.org).

You can test this by installing flatpak and flatpak-builder and then running

flatpak remote-add kde-repo --from https://distribute.kde.org/kderuntime.flatpakrepo
flatpak install kde-repo org.kde.Platform
flatpak install kde-repo org.kde.Sdk
flatpak-builder --repo=scribus-repo scribus-build net.scribus.scribus.json
flatpak remote-add --no-gpg-verify scribus-repo
flatpak install scribus-repo net.scribus.scribus
flatpak run net.scribus.scribus

With the following command you can create a .flatpak bundle (size: 48 MB):

flatpak build-bundle scribus-repo scribus.flatpak net.scribus.scribus

The .flatpak file (I uploaded one here: https://drive.google.com/open?id=0B1SoIjRsaQikdUVIYS1RWFczVjQ) can be installed with gnome-software or by running

flatpak install --bundle scribus.flatpak
TagsNo tags attached.
PatchYes

Activities

alexander-wilms

2017-04-01 21:16

reporter   ~0043690

With all the optional dependencies included, the .flatpak is now 80 MB.

alexander-wilms

2017-04-02 19:06

reporter   ~0043692

Including Ghostscript, the Flatpak is now 119 MB.

Package: https://drive.google.com/open?id=0B1SoIjRsaQikUDZ2VkFneDVacUE

alexander-wilms

2017-04-02 19:07

reporter  

my-patch.diff (4,399 bytes)   
diff --git a/net.scribus.scribus.json b/net.scribus.scribus.json
new file mode 100644
index 0000000..d8ace8c
--- /dev/null
+++ b/net.scribus.scribus.json
@@ -0,0 +1,194 @@
+{
+	"app-id": "net.scribus.scribus",
+	"runtime": "org.kde.Platform",
+	"runtime-version": "master",
+	"sdk": "org.kde.Sdk",
+	"command": "scribus",
+	"rename-desktop-file": "scribus.desktop",
+	"rename-appdata-file": "scribus.appdata.xml",
+	"rename-icon": "scribus",
+	"finish-args":[
+		"--share=network",
+		"--socket=x11",
+		"--socket=wayland"
+	],
+	"modules":[
+		{
+			"name": "boost",
+			"buildsystem": "simple",
+			"sources":[
+				{
+					"type":"git",
+					"branch": "boost-1.63.0",
+					"url": "https://github.com/boostorg/boost.git"
+				}
+			],
+			"build-commands": ["./bootstrap.sh --prefix=/app", "./b2 headers", "./b2 install"]
+		},
+		{
+			"name": "cppunit",
+			"buildsystem": "autotools",
+			"sources":[
+				{
+					"type":"archive",
+					"url": "https://sourceforge.net/projects/cppunit/files/cppunit/1.12.1/cppunit-1.12.1.tar.gz",
+					"sha256": "ac28a04c8e6c9217d910b0ae7122832d28d9917fa668bcc9e0b8b09acb4ea44a"
+				}
+			]
+		},
+		{
+			"name": "librevenge",
+			"buildsystem": "autotools",
+			"sources":[
+				{
+					"type":"git",
+					"branch": "librevenge-0.0.4",
+					"url": "https://git.code.sf.net/p/libwpd/librevenge"
+				}
+			]
+		},
+		{
+			"name": "libmspub",
+			"buildsystem": "autotools",
+			"sources":[
+				{
+					"type":"git",
+					"branch": "libmspub-0.1.2",
+					"url": "git://anongit.freedesktop.org/libreoffice/libmspub"
+				}
+			]
+		},
+		{
+			"name": "libcdr",
+			"buildsystem": "autotools",
+			"sources":[
+				{
+					"type":"git",
+					"branch": "libcdr-0.1.3",
+					"url": "git://anongit.freedesktop.org/libreoffice/libcdr"
+				}
+			]
+		},
+				{
+			"name": "libwpd",
+			"buildsystem": "autotools",
+			"sources":[
+				{
+					"type":"git",
+					"branch": "RELEASE-0-10-0",
+					"url": "https://git.code.sf.net/p/libwpd/code"
+				}
+			]
+		},
+		{
+			"name": "libwpg",
+			"buildsystem": "autotools",
+			"sources":[
+				{
+					"type":"git",
+					"branch": "RELEASE-0-3-1",
+					"url": "https://git.code.sf.net/p/libwpg/code"
+				}
+			]
+		},
+		{
+			"name": "libvisio",
+			"buildsystem": "autotools",
+			"sources":[
+				{
+					"type":"git",
+					"branch": "libvisio-0.1.5",
+					"url": "https://github.com/LibreOffice/libvisio"
+				}
+			]
+		},
+		{
+			"name": "libpagemaker",
+			"buildsystem": "autotools",
+			"sources":[
+				{
+					"type":"git",
+					"branch": "libpagemaker-0.0.3",
+					"url": "git://gerrit.libreoffice.org/libpagemaker"
+				}
+			]
+		},
+		{
+			"name": "libfreehand",
+			"buildsystem": "autotools",
+			"sources":[
+				{
+					"type":"git",
+					"branch": "libfeehand-0.1.1",
+					"url": "https://github.com/LibreOffice/libfreehand.git"
+				}
+			]
+		},
+		{
+			"name": "openscenegraph",
+			"buildsystem": "cmake",
+			"sources":[
+				{
+					"type":"archive",
+					"url": "http://trac.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.4.0.zip",
+					"sha256": "5c727d84755da276adf8c4a4a3a8ba9c9570fc4b4969f06f1d2e9f89b1e3040e"
+				}
+			]
+		},
+		{
+			"name": "graphicsmagick",
+			"buildsystem": "autotools",
+			"sources":[
+				{
+					"type":"archive",
+					"url": "https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/1.3.25/GraphicsMagick-1.3.25.tar.xz",
+					"sha256": "d64bfa52d2e0730eff9ce3ed51d4fc78dbb68e2adaa317b2bb3c56e6ee61ac9f"
+				}
+			]
+		},
+		{
+			"name": "qpdf",
+			"buildsystem": "autotools",
+			"sources":[
+				{
+					"type":"git",
+					"url": "https://github.com/qpdf/qpdf.git"
+				}
+			]
+		},
+		{
+			"name": "poppler",
+			"buildsystem": "autotools",
+			"config-opts": ["--enable-xpdf-headers"],
+			"sources": [
+				{
+					"type": "git",
+					"url": "git://anongit.freedesktop.org/poppler/poppler",
+					"branch": "poppler-0.19.4"
+				}
+			]
+		},
+		{
+			"name": "ghostscript",
+			"buildsystem": "autotools",
+			"config-opts": ["--disable-cups"],
+			"sources":[
+				{
+					"type":"git",
+					"branch": "ghostscript-9.21",
+					"url": "http://git.ghostscript.com/ghostpdl.git"
+				}
+			]
+		},
+		{
+			"name": "scribus",
+			"buildsystem": "cmake",
+			"sources":[
+				{
+					"type":"git",
+					"url": "https://github.com/scribusproject/scribus.git"
+				}
+			]
+		}
+	]
+}
my-patch.diff (4,399 bytes)   

DoctorJellyface

2017-08-14 16:58

reporter   ~0044325

I have worked upon Alex’s manifest. I also provide builds of it (nightly and development). You can find all the information here: http://drjurf.tk/scribus-flatpak/

The bundle (isn’t really the main point of Flatpak, but useful as a reference) size including all dependencies, sans OSG (removed after discussion with a-l-e, it caused a crash anyway), Ghostscript (still thinking about whether to add it, I can slim it down but maybe I’ll make an extension) and tkinter (might require recompiling Python, I am _not_ gonna go that route) has 56.6MB

2 notes:
 * it would be great if a link would be supplied on the Scribus download page, since it exists people might as well make use of it
 * adding the json to the repo would enable GNOME Builder to provide a one-click compile, no changes to the host OS necessary, this has the potential to significantly lower the entry barrier for new contributors

Issue History

Date Modified Username Field Change
2017-04-01 21:11 alexander-wilms New Issue
2017-04-01 21:16 alexander-wilms Note Added: 0043690
2017-04-02 19:06 alexander-wilms Note Added: 0043692
2017-04-02 19:07 alexander-wilms File Added: my-patch.diff
2017-08-14 16:58 DoctorJellyface Note Added: 0044325