openbsd-ports/x11/arandr/patches/patch-setup_py
2022-03-11 20:15:18 +00:00

62 lines
2.4 KiB
Plaintext

Do not compress manual pages and install them in the right place.
Fix "TypeError: write() argument must be str, not bytes" with Python 3
by decoding `manpage' properly.
Index: setup.py
--- setup.py.orig
+++ setup.py
@@ -20,7 +20,6 @@ import os
import operator
import subprocess
import glob
-import gzip
import datetime
import docutils.core
@@ -100,20 +99,19 @@ class build_man(NoOptionCommand):
def run(self):
self.mkpath('build')
- for (sourcefile, gzfile) in [
- ('data/arandr.1.txt', os.path.join('build', 'arandr.1.gz')),
- ('data/unxrandr.1.txt', os.path.join('build', 'unxrandr.1.gz')),
+ for (sourcefile, manfile) in [
+ ('data/arandr.1.txt', os.path.join('build', 'arandr.1')),
+ ('data/unxrandr.1.txt', os.path.join('build', 'unxrandr.1')),
]:
- if newer(sourcefile, gzfile):
+ if newer(sourcefile, manfile):
rst_source = open(sourcefile).read()
manpage = docutils.core.publish_string(rst_source, writer=docutils.writers.manpage.Writer())
- info('compressing man page to %s', gzfile)
+ info('writing man page to %s', manfile)
if not self.dry_run:
- compressed = gzip.open(gzfile, 'w', 9)
- compressed.write(manpage)
- compressed.close()
+ with open(manfile, 'w') as fh:
+ fh.write(manpage.decode('utf-8'))
class update_translator_credits(NoOptionCommand):
description = 'Examine the git history to produce an updated metadata file.'
@@ -218,7 +216,7 @@ class clean(_clean):
def run(self):
if self.all:
dirs = ['build/locale']
- files = ['build/arandr.1.gz', 'build/unxrandr.1.gz']
+ files = ['build/arandr.1', 'build/unxrandr.1']
for directory in dirs:
if os.path.exists(directory):
remove_tree(directory, dry_run=self.dry_run)
@@ -259,7 +257,7 @@ setup(name = PACKAGENAME,
},
data_files = [
('share/applications', ['data/arandr.desktop']), # FIXME: use desktop-file-install?
- ('share/man/man1', ['build/arandr.1.gz', 'build/unxrandr.1.gz']),
+ ('man/man1', ['build/arandr.1', 'build/unxrandr.1']),
],
scripts = ['arandr', 'unxrandr'],
)