diff --git a/libs/_autotools/liblame/liblame.py b/libs/_autotools/liblame/liblame.py deleted file mode 100644 index 7aa25e77..00000000 --- a/libs/_autotools/liblame/liblame.py +++ /dev/null @@ -1,28 +0,0 @@ -# -*- coding: utf-8 -*- -import info - - -class subinfo(info.infoclass): - def setTargets(self): - for ver in ['3.100']: - self.targets[ver] = f'https://sourceforge.net/projects/lame/files/lame/{ver}/lame-{ver}.tar.gz' - - self.targetInstSrc[ver] = 'lame-'+ver - self.patchToApply['3.100'] = [("lame_init_old-missing-symfile.patch", 1)] - self.targetDigests['3.100'] = (['ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e'], CraftHash.HashAlgorithm.SHA256) - self.defaultTarget = '3.100' - - def setDependencies(self): - self.runtimeDependencies["virtual/base"] = None - self.buildDependencies["dev-utils/msys"] = None - self.buildDependencies["dev-utils/nasm"] = None - - -from Package.AutoToolsPackageBase import * - - -class Package(AutoToolsPackageBase): - def __init__(self, **args): - AutoToolsPackageBase.__init__(self) - self.subinfo.options.package.withCompiler = False - self.subinfo.options.configure.args = " --disable-static --disable-gtktest --disable-frontend --enable-nasm " diff --git a/libs/_autotools/liblame/lame_init_old-missing-symfile.patch b/libs/liblame/lame_init_old-missing-symfile.patch similarity index 100% rename from libs/_autotools/liblame/lame_init_old-missing-symfile.patch rename to libs/liblame/lame_init_old-missing-symfile.patch diff --git a/libs/liblame/liblame-3.100-20190112.diff b/libs/liblame/liblame-3.100-20190112.diff new file mode 100644 index 00000000..5cfd97f0 --- /dev/null +++ b/libs/liblame/liblame-3.100-20190112.diff @@ -0,0 +1,21 @@ +diff -Nrub -x '*~' -x '*\.rej' -x '*\.orig' -x '*\.o' -x '*\.pyc' lame-3.100.orig/Makefile.MSVC lame-3.100/Makefile.MSVC +--- lame-3.100.orig/Makefile.MSVC 2016-01-29 21:02:24.000000000 +0100 ++++ lame-3.100/Makefile.MSVC 2019-01-12 14:16:55.591647400 +0100 +@@ -99,7 +99,7 @@ + ! ENDIF + + OFF = win32 +-MACHINE = /machine:I386 ++MACHINE = /machine:$(CRAFT_ARCH) + LIB_OPTS = /nologo $(MACHINE) + + ! MESSAGE ---------------------------------------------------------------------- +@@ -544,7 +544,7 @@ + .SUFFIXES : .nas + .nas.obj: + @echo $< +- @nasmw -f $(OFF) -i libmp3lame/i386/ -DWIN32 $< -o $@ ++ @nasm -f $(OFF) -i libmp3lame/i386/ -DWIN32 $< -o $@ + + CC_SWITCHES = $(CC_SWITCHES) /DHAVE_NASM + ASM_OBJ = $(ASM_OBJ) \ diff --git a/libs/liblame/liblame.py b/libs/liblame/liblame.py new file mode 100644 index 00000000..c288f022 --- /dev/null +++ b/libs/liblame/liblame.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +import info +from Package.MakeFilePackageBase import MakeFilePackageBase + + +class subinfo(info.infoclass): + def setTargets(self): + for ver in ['3.100']: + self.targets[ver] = f'https://sourceforge.net/projects/lame/files/lame/{ver}/lame-{ver}.tar.gz' + + self.targetInstSrc[ver] = 'lame-'+ver + self.patchToApply['3.100'] = [("lame_init_old-missing-symfile.patch", 1), + ("liblame-3.100-20190112.diff", 1)] + self.targetDigests['3.100'] = (['ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e'], CraftHash.HashAlgorithm.SHA256) + self.defaultTarget = '3.100' + + def setDependencies(self): + self.runtimeDependencies["virtual/base"] = None + self.buildDependencies["dev-utils/msys"] = None + self.buildDependencies["dev-utils/nasm"] = None + + +from Package.AutoToolsPackageBase import * + + +if CraftCore.compiler.isGCCLike(): + class Package(AutoToolsPackageBase): + def __init__(self, **args): + AutoToolsPackageBase.__init__(self) + self.subinfo.options.configure.args = " --disable-static --disable-gtktest --disable-frontend --enable-nasm " +else: + class Package(MakeFilePackageBase): + def __init__(self): + MakeFilePackageBase.__init__(self) + self.subinfo.options.useShadowBuild = False + self.subinfo.options.make.supportsMultijob = False + self.subinfo.options.make.args += f"-f Makefile.MSVC dll comp=msvc GTK=NO CRAFT_ARCH={CraftCore.compiler.architecture}" + if CraftCore.compiler.isX64(): + self.subinfo.options.make.args += " MSVCVER=Win64 ASM=NO" + else: + self.subinfo.options.make.args += " ASM=YES" + + def configure(self, dummyDefines=""): + return utils.copyFile(os.path.join(self.sourceDir(), "configMS.h"), os.path.join(self.sourceDir(), "config.h"), linkOnly=False) + + def install(self): + return ( + utils.copyFile(os.path.join(self.sourceDir(), "include/lame.h"), os.path.join(self.installDir(), "include/lame/lame.h"), linkOnly=False) and + utils.copyFile(os.path.join(self.sourceDir(), "output/lame_enc.dll"), os.path.join(self.installDir(), "bin/lame_enc.dll"), linkOnly=False) and + utils.copyFile(os.path.join(self.sourceDir(), "output/lame_enc.lib"), os.path.join(self.installDir(), "lib/lame_enc.lib"), linkOnly=False) and + utils.copyFile(os.path.join(self.sourceDir(), "output/libmp3lame.dll"), os.path.join(self.installDir(), "bin/libmp3lame.dll"), linkOnly=False) and + utils.copyFile(os.path.join(self.sourceDir(), "output/libmp3lame.lib"), os.path.join(self.installDir(), "lib/libmp3lame.lib"), linkOnly=False) + + ) + diff --git a/python-modules/pip/pip.py b/python-modules/pip/pip.py index 050fba15..d525c19d 100644 --- a/python-modules/pip/pip.py +++ b/python-modules/pip/pip.py @@ -1,35 +1,41 @@ import info from Package.MaybeVirtualPackageBase import * from pathlib import Path import sys +from Package.PipPackageBase import PipPackageBase + + class subinfo(info.infoclass): def setTargets(self): self.targets["master"] = f"https://bootstrap.pypa.io/get-pip.py" self.defaultTarget = "master" def setDependencies(self): self.runtimeDependencies["virtual/bin-base"] = None from Package.BinaryPackageBase import * class PPackage(BinaryPackageBase): def __init__(self): BinaryPackageBase.__init__(self) - self.subinfo.options.unpack.runInstaller = True def unpack(self): get_pip = self.localFilePathe()[0] return (utils.system([sys.executable, get_pip]) and utils.deleteFile(get_pip)) +class PipPackage(PipPackageBase): + def __init__(self, **args): + PipPackageBase.__init__(self) + class Package(MaybeVirtualPackageBase): def __init__(self): root = Path(CraftCore.standardDirs.craftRoot()) py = Path(sys.executable) - MaybeVirtualPackageBase.__init__(self, condition=root in py.parents, classA=PPackage) + MaybeVirtualPackageBase.__init__(self, condition=root in py.parents, classA=PPackage, classB=PipPackage)