summaryrefslogtreecommitdiff
path: root/community/calibre/desktop_integration.patch
blob: 73037b6a7dddf29a92c7ea6d453a13beb01be711 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
--- a/src/calibre/linux.py	2012-03-16 03:42:45.000000000 +0100
+++ b/src/calibre/linux.py	2012-03-21 08:06:35.000000000 +0100
@@ -140,18 +140,6 @@
         self.install_man_pages()
         if islinux or isbsd:
             self.setup_desktop_integration()
-        self.create_uninstaller()
-
-        from calibre.utils.config import config_dir
-        if os.path.exists(config_dir):
-            os.chdir(config_dir)
-            if islinux or isbsd:
-                for f in os.listdir('.'):
-                    if os.stat(f).st_uid == 0:
-                        import shutil
-                        shutil.rmtree(f) if os.path.isdir(f) else os.unlink(f)
-                if os.stat(config_dir).st_uid == 0:
-                    os.rmdir(config_dir)
 
         if warn is None and self.warnings:
             self.info('There were %d warnings'%len(self.warnings))
@@ -198,7 +186,7 @@
                 if isnetbsd:
                     f = os.path.join(self.opts.staging_root, 'share/bash_completion.d/calibre')
                 else:
-                    f = os.path.join(self.opts.staging_etc, 'bash_completion.d/calibre')
+                    f = os.path.join(self.opts.staging_root, 'usr/share/bash-completion/completions/calibre')
             if not os.path.exists(os.path.dirname(f)):
                 os.makedirs(os.path.dirname(f))
             self.manifest.append(f)
@@ -305,7 +293,7 @@
             if isbsd:
                 manpath = os.path.join(self.opts.staging_root, 'man/man1')
             else:
-                manpath = os.path.join(self.opts.staging_sharedir, 'man/man1')
+                manpath = os.path.join(self.opts.staging_root, 'usr/share/man/man1')
             if not os.path.exists(manpath):
                 os.makedirs(manpath)
             self.info('Installing MAN pages...')
@@ -321,7 +309,7 @@
                 if isbsd:
                     manfile = os.path.join(manpath, prog+'.1')
                 else:
-                    manfile = os.path.join(manpath, prog+'.1'+__appname__+'.bz2')
+                    manfile = os.path.join(manpath, prog+'.1'+'.bz2')
                 self.info('\tInstalling MAN page for', prog)
                 open(manfile, 'wb').write(raw)
                 self.manifest.append(manfile)
@@ -339,51 +327,39 @@
 
             with TemporaryDirectory() as tdir:
                 with CurrentDir(tdir):
-                    render_img('mimetypes/lrf.png', 'calibre-lrf.png')
-                    check_call('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png application-lrf', shell=True)
-                    self.icon_resources.append(('mimetypes', 'application-lrf', '128'))
-                    check_call('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png text-lrs', shell=True)
-                    self.icon_resources.append(('mimetypes', 'application-lrs',
-                    '128'))
-                    render_img('lt.png', 'calibre-gui.png')
-                    check_call('xdg-icon-resource install --noupdate --size 128 calibre-gui.png calibre-gui', shell=True)
-                    self.icon_resources.append(('apps', 'calibre-gui', '128'))
-                    render_img('viewer.png', 'calibre-viewer.png')
-                    check_call('xdg-icon-resource install --size 128 calibre-viewer.png calibre-viewer', shell=True)
-                    self.icon_resources.append(('apps', 'calibre-viewer', '128'))
+                    dir = os.path.join(self.opts.staging_sharedir,'../pixmaps')
+                    os.mkdir(dir)
+                    render_img('mimetypes/lrf.png', os.path.join(dir,'calibre-lrf.png'))
+                    render_img('lt.png', os.path.join(dir, 'calibre-gui.png'))
+                    render_img('viewer.png', os.path.join(dir, 'calibre-viewer.png'))
 
                     mimetypes = set([])
                     for x in all_input_formats():
                         mt = guess_type('dummy.'+x)[0]
-                        if mt and 'chemical' not in mt and 'ctc-posml' not in mt:
+                        if mt and 'chemical' not in mt and 'text' not in mt and 'pdf' not in mt and 'xhtml' not in mt:
                             mimetypes.add(mt)
 
                     def write_mimetypes(f):
                         f.write('MimeType=%s;\n'%';'.join(mimetypes))
 
-                    f = open('calibre-lrfviewer.desktop', 'wb')
+                    dir = os.path.join(self.opts.staging_sharedir,'../applications')
+                    os.mkdir(dir)
+                    f = open(os.path.join(dir, 'calibre-lrfviewer.desktop'), 'wb')
                     f.write(VIEWER)
                     f.close()
-                    f = open('calibre-ebook-viewer.desktop', 'wb')
+                    f = open(os.path.join(dir, 'calibre-ebook-viewer.desktop'), 'wb')
                     f.write(EVIEWER)
                     write_mimetypes(f)
                     f.close()
-                    f = open('calibre-gui.desktop', 'wb')
+                    f = open(os.path.join(dir, 'calibre-gui.desktop'), 'wb')
                     f.write(GUI)
                     write_mimetypes(f)
                     f.close()
-                    des = ('calibre-gui.desktop', 'calibre-lrfviewer.desktop',
-                            'calibre-ebook-viewer.desktop')
-                    for x in des:
-                        cmd = ['xdg-desktop-menu', 'install', '--noupdate', './'+x]
-                        check_call(' '.join(cmd), shell=True)
-                        self.menu_resources.append(x)
-                    check_call(['xdg-desktop-menu', 'forceupdate'])
-                    f = open('calibre-mimetypes', 'wb')
+                    dir = os.path.join(self.opts.staging_sharedir,'../mime/packages/')
+                    os.makedirs(dir)
+                    f = open(os.path.join(dir, 'calibre.xml'), 'wb')
                     f.write(MIME)
                     f.close()
-                    self.mime_resources.append('calibre-mimetypes')
-                    check_call('xdg-mime install ./calibre-mimetypes', shell=True)
         except Exception:
             if self.opts.fatal_errors:
                 raise
@@ -521,7 +497,7 @@
 [Desktop Entry]
 Version=1.0
 Type=Application
-Name=calibre
+Name=Calibre
 GenericName=E-book library management
 Comment=E-book library management: Convert, view, share, catalogue all your e-books
 TryExec=calibre